Les sites web et l’UTF-8

Si comme vous vous avez eu récemment des problèmes avec les fameux encodages voici peut être de quoi vous aider à résoudre vos problèmes.

Déjà il faut savoir qu’il vaut mieux vous mettre dés maintenant à l’UTF-8 (voir dans quelques temps de l’UTF-16) car c’est l’encodage qui prend en compte de manière universel le plus de caractères et de symboles. Comme c’est lui qui prend le plus de caractères et de symboles faut garder a l’esprit tout de même qu’un texte encodé en UTF-8 sera plus gourmand en octets que le même texte encodé en ISO-8859.

Passer son site web en UTF-8

Après avoir passé une heure sur ce problème, je pense avoir trouvé les grandes étapes pour éviter les problèmes de “caractères bizarres”.

Votre base de donnée

Lors de la création de votre base de donnée, des tables et champs pensez à choisir dans interclassement : utf8_general_ci

Dans vos pages HTML

Dans votre code HTML il faut indiquer au navigateur que vous souhaitez afficher votre site en UTF-8. Pour ce faire mettez cette ligne dans le header de vos pages.

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Dans votre code PHP

Une fois une connexion à MySQL effectué dans votre code PHP il peut être utilise de rappeler que vous souhaitez des données en UTF-8.

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

Encodage de vos pages

Il peut être utile de changer l’encodage de vos pages surtout si vous affichez du HTML brut. Pour ce faire (si vous utilisez Notepad++ dans mon cas) vous avez un menu “encodage” avec lequel vous pouvez “Convertir en UTF-8 (Sans BOM)“.

Voila j’espère que cela pourra vous aider car moi depuis que j’applique ces quelques petites règles je n’ai plus de soucis de caractères… Si il y a d’autres techniques, n’hésitez pas dans les commentaires !

Laisser un commentaire