Probleme de codage de caractères

Fermé
vigo - 26 avril 2010 à 12:17
 vigo - 26 avril 2010 à 16:14
bonjour,
probleme récurent sur les forums mais je n'ai pas trouvé de solution pour le mien en particulier, j'explique

j'ai un site en php et une base de donnée mysql.
dans ma base j'ai des données avec des accents et il les affiche bien, mes champs sont codé en utf8

par contre quand je rapatrie mes données en php, il me met des é a la place des accents. mes pages elles sont en iso 8859-1, je precise que les données "html" s'affiche bien.
une idée? ca vient de mysql? de apache? de l'explorateur?



A voir également:

4 réponses

Utilisateur anonyme
26 avril 2010 à 15:04
salut,
bah c'est normal si tes pages sont en iso 8859-1 et les donnée s'affichent correctement alors le probleme vient est de mysql qui est en utf8 ( c'est évident!)
sers toi des fonctions php utf8_encode() et utf8_decode()
@+
0
ok, je ne connais pas cette fonction, j'imagine qu'il faut l'appeller dans le code php entre la requete sql et l'affichage?

sinon aucun moyen via mysql? une conversion des tables n'y changerai rien?
0
Utilisateur anonyme
26 avril 2010 à 15:36
oui tu l'appelle
utf8_encode()
dans le code php il va transformer tout ce que tu met dedans(ainsi que les variables) en utf8
puis utf8_decode() pour lire les données de la table car étant en utf8 si tu ne les remet pas en iso 8859-1 le probleme sera maintenant sur tes pages

En ce qui conserne un moyen via mysql je ne sais pas et je ne crois pas, mais n'essai pas de changer l'encodage d'une table via l'Interclassement ca ne changera rien! tu as toujours une autre option:
mettre tes pages en utf8 et là pas besoin de toutes ces fonctions
0
ouaip par contre si je met mes pages en utf8 cette fois, les données provenant de mysql sont bonnes et c'est les autres ("html") qui deconne et qui m'affiche des ? a la place des accents.

j'aurais préférer cette solution, car j'ai pas mal de page a modifier sinon
0