[Résolu] MySQL fait-il du véritable UTF-8 ?
Publié : 24 août 2005, 18:39
Hello,
Continuant une conversion au format UTF-8, je me heurte à un nouveau problème qui me fait grandement m'interroger sur l'aptitude de MySQL à gérer ce format d'affichage correctement.
J'ai créé une base et une table avec l'interclassement utf8_general_ci. J'y stocke des données sorties de NotePad ++ au format UTF-8, sans BOM. Dans MySQL, l'affichage est nickel : c'est normal, vous me direz, je suis en fr-utf-8.
Je bidouille ma requête en PHP pour sortir les données de la table en question, en vlan : revoilà ces satanés caractères � et compagnie...
Je vérifie mon en-tête :
Pas d'erreur, visiblement, surtout que le reste des textes sortis de scripts PHP est lui nickel.
Bon, j'ai essayé plusieurs autres formats de conversion, avec BOM, sans BOM, en copiant le texte ANSI, en changeant l'interclassement. Rien à faire...
Passablement énervé, je me résous à utiliser le magique :
Merveilleux, ça marche : sauf que je n'ai plus une seule apostrophe, tout le texte s'agglutinant lamentablement.
Là, je sèche. Quelqu'un serait-il assez charitable pour me filer une piste
Continuant une conversion au format UTF-8, je me heurte à un nouveau problème qui me fait grandement m'interroger sur l'aptitude de MySQL à gérer ce format d'affichage correctement.
J'ai créé une base et une table avec l'interclassement utf8_general_ci. J'y stocke des données sorties de NotePad ++ au format UTF-8, sans BOM. Dans MySQL, l'affichage est nickel : c'est normal, vous me direz, je suis en fr-utf-8.
Je bidouille ma requête en PHP pour sortir les données de la table en question, en vlan : revoilà ces satanés caractères � et compagnie...

Je vérifie mon en-tête :
Code : Tout sélectionner
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Bon, j'ai essayé plusieurs autres formats de conversion, avec BOM, sans BOM, en copiant le texte ANSI, en changeant l'interclassement. Rien à faire...

Passablement énervé, je me résous à utiliser le magique :
Code : Tout sélectionner
echo utf8_encode
Là, je sèche. Quelqu'un serait-il assez charitable pour me filer une piste
