Corriger les problèmes d'encodage UTF-8 et ISO d'une page Web

Google China

Les problèmes d'encodage sont aussi vieux que l'informatique.

Voici un petit résumé facilitant la résolution d'un problème d'affichage de caractère sur une page Web.

Actuellement, les trois tables de caractères les plus utilisées au monde sont l'ISO-8859-1 qui a remplacé l'ASCII et l'EBCEDIC des anciens serveurs, le CP1252 utilisé par les plates-formes Microsoft et l'UTF-8 référence mondial en devenir.

Si la page affiche des caractères du type "é", "î", "Ã", ...
alors les données ont été enregistrées au format UTF-8 et le navigateur les affiche en pensant avoir affaire à de l'ISO.

Si la page affiche des caractères de ce type : "�"
alors les données ont été enregistrées au format ISO et le navigateur les affiche en pensant avoir affaire à de l'UTF-8.

Si les données sont codées en dur dans la page, contrôlez l'encodage de l'éditeur de texte, le header apache et la balise meta "charset" du document.

Si les données proviennent de la base, vérifiez le format de stockage et les méthodes de lecture et d'insertion (SET NAMES et charset).

Si les données proviennent de l'extérieur (web services, rss, ...), penser à convertir les chaînes de caractère (utf8_encode/decode et fonctions du module iconv avec le langage PHP).