Bonjour
J'ai une question sur l'unicode pour le bon affichage des accents. Je viens de lire cette faq mais ça m'amène plus de questions que de réponses.
http://php.developpez.com/faq/?page=mysql#mysql-utf-8
J'ai créé un script en php/xhtml sous notepad++ encodé en utf-8 (sans dom) avec le bon charset en en-tête (charset=UTF-8), ma base de donnée est en utf8-general-ci. Le script php se contente de lire des données issues de cette base. Malheureusement, les accents n'apparaissent pas correctement.
Je pense que le problème vient de l'encodage des données qui sont envoyées dans la base....le souci est que les données de la base de données sont issues d'un autre script php pur (sans code xhtml) qui récupère des données sur un site codé en ISO 8859-1 !
D'après la faq, il faut envoyer les données en utf8 avec la commande
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql_query("SET NAMES 'utf8'");
Que se passe t'il quand on envoit des données ascii dans une table utf8 !? Il ne fait vraiment pas la conversion automatiquement ?
En admettant que j'utilise cette option pour les envoyer en format utf-8...comment puis je faire pour les vieilles données qui sont dans la base utf-8 depuis des mois voir des années qui ont été envoyées au format ascii sur 1 seul octet !?
Bonne semaine
Partager