PHP et problème d'accent

Résolu/Fermé
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 - 15 mars 2010 à 14:18
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 - 15 mars 2010 à 16:57
Bonjour,
Je suis présentement en train de faire un site et j'ai de très gros problème avec les accents..

Premièrement j'ai essayé charset=iso-8859-1
Lorsque j'écris des accents dans mon code, ça ne fonctionne pas et ça affiche des cratères spécials.
Mais quand je prends des information de ma bd les accents s'affiche correctement...

Deuxièment j'ai essayé charset=utf-8
Lorsque j'écris des accents dans mon code, les accents s'affiche correctement...
Mais quand je prends des information de ma bd ça ne fonctionne pas et ça affiche des cratères spécials.

j'ai fait pleins de recherche et je ne sais plus quoi faire... Aidez-moi svp sinon je sens que je vais devenir fou a mettre des eacute partout!!!!

merci d'avance pour vos réponse.
A voir également:

17 réponses

oups, autant pour moi, sa a buggé !

â = & acirc;
à = & agrave;
é = & eacute;
ê = & ecirc;
è = & egrave;
ë = & euml;

enlève l'espace entre le '&' et les lettres !
1
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 14:35
les champs de ta table sont en quoi ? utf-8 aussi ?
0
pourquoi ne pas mettr eles codes correspondant dans ton code source !?

â = â
à = à
é = é
ê = ê
è = è
ë = ë
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 14:46
oui déja c'est la base ca :)

ensuite acorde le charset de ta page a l'Interclassement du champ de ta table comme ca tu sera pas emmerdé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 15:16
l'Interclassement de ma table est en latin1_general_ci....

doit-je mettre l'interclassement et mon charset en uft-8 ??? opu un autre...
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 15:21
j'ai été confronté a des soucis d'accents et autres et c'etait parfois bien chiant a réencoder les chaines de caracteres, depuis que je met tout au meme format je suis tranquil avec ca...
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 15:32
bon j'ai mit les 2 (charset et l'interclassement) en UTF-8

le texte de mon code fonctionne très bien mais pas celui de la bd.....

je commence en désespérer......
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 15:39
dans la bdd il va etre ecri en "codé" mais s'affichera en "décodé" sur tes pages HTML charset utf8 ;)
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 15:49
mais quand je load des trucs sa affiche des �
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 15:51
et dans ta base quels sont les symboles corespondants ?

sinon utilise utf8_decode() ou utf8_encode() suivant tes besoins
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 15:55
dans ma bd si j'ai un champs qui est écrit "tanné" sa va être écrit "tanné dans la bd et quand je vais aller chercher cette information de la bd et l'aficher dans ma pge ca va afficher "tann�"
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 16:05
normal il faut qu'il soit encodé en utf8 dans ta base pour qu'il s'affiche corectement dans ton html charset utf8
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 16:08
et comment doit-je faire cela?
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 16:22
quand tu rentre tes infos dans ta base si ta page est en charset utf8 ca se fera tout seul

sinon si c'est une page php sans charset il faut que tu encode tes données en utf8

ces liens pourront t'aider

https://www.php.net/manual/fr/function.utf8-encode.php
https://www.php.net/manual/fr/function.utf8-decode.php
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 16:27
ok si j'enregistre dune page web des information ca fonctionne(l'encodage se fait) mais si j'enregistre directement de phpmyadmin ca ne fonctionne pas...
0
PRO_PHP Messages postés 95 Date d'inscription jeudi 11 février 2010 Statut Membre Dernière intervention 27 avril 2010 1
15 mars 2010 à 16:53
bon pour ceux que ca intéresse j'ai trouver une solution...
losrque je vais chercher mes donnesd dans ma bd je fait un :
$connexion->query("SET NAMES 'utf8'");

merci pour votre aide
0
rudak Messages postés 587 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 4 juin 2011 46
15 mars 2010 à 16:57
faut juste faire attention parsque le SET NAMES indique avec quel jeu de caractères on envoie les données à MySQL, quel que soit le jeu utilisé dans le champ de ta table
Autrement dit, si j'envoie à MySQL des données UTF8 dans une table latin1 par exemple, il fait automatiquement la conversion.
Par contre, si tu lui envoie des données UTF8 en faisant un SET NAMES latin1, je lui fais croire que mes données sont en latin1, donc il ne convertit plus et on se retrouve avec n'importe quoi...
0