Encoder son site en UTF-8… entièrement!

31 03 2010

Si j’ai encore passé presque 2 jours à me prendre la tête, cette fois-ci ça n’est pas à cause d’un bug. Non, tout allait très bien jusqu’à ce que je tombe par hasard sur un article parlant d’encoding UTF-8 avec MySQL. Et là, j’y ai découvert le chaînon manquant : l’instruction permettant de spécifier que les communications avec MySQL se font en UTF-8.

Car il ne suffit pas d’encoder sa base en UTF-8 en spécifiant l’interclassement des tables (utf8_general_ci par exemple), il faut aussi préciser que les échanges doivent s’effectuer dans tel encoding en jouant la requête suivante en début de connexion : SET NAMES "utf8"

En effet, j’avais bien remarqué qu’il y avait un souci à ce niveau là, mais j’avais contourné ça à coup de utf8_encode() / utf8_decode() et de html_entities() / html_entity_decode(). Du coup, mon site est devenu un champ de é ou de �, le temps que je reprenne tout y compris une reprise des données stockées en base. C’était laborieux mais je pense que ça valait le coup, maintenant je sais, je crois, que c’est propre!

Voilà 2 sites qui résument tout ce qu’il faut faire pour gérer entièrement un site en UTF-8.

http://j-willette.developpez.com/tutoriels/web/encoder-son-site-en-utf8/

http://electron-libre.fassnet.net/utf8.php

Faire suivre cet article :
  • Facebook
  • Twitter
  • Google Bookmarks
  • Yahoo! Buzz
  • Wikio FR
  • LinkedIn
  • Viadeo
  • del.icio.us
  • Digg
  • MySpace
  • Netvibes
  • Technorati

Actions

Informations

Une réponse à “Encoder son site en UTF-8… entièrement!”

2 04 2010
Alex - SimplementMieux (10:36:15) :

J’ai déjà eu le même problème et j’ai trouvé la même solution. Décidément on fait tous les même erreurs ;-)

Laisser un commentaire

Vous pouvez utiliser ces balises html : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>