=Introduction=
Il est très énervant, après un changement d’hébergeur ou de serveur, de constater que le beau site qu’on avait fait en français n’affichent plus les accents, mais à la place, un point d’interrogation ou des caractères bizarres. Dans la plupart des cas, les problèmes d’accents peuvent être imputés au serveur, plutôt qu’au client.
=Page de caractère, c’est quoi ?=
Les pages de caractères sont des tables de traduction des caractères d’écriture. Pour un ordinateur, les lettres en elles mêmes ne sont que des informations codées. En réalité, l’ordinateur reçoit des codes numériques, qui traduit en lettres en se basant sur ces tables. Mais il y a des tables différentes presque pour chaques langues et chaques pays, ainsi, un “é” dans la page utilisée en france peut apparaitre comme un autre caractère aux Etats-Unis, voire ne pas être reconnu du tout.
C’est pourquoi ont été développés des pages de caractères standardisées qui contiennent la totalité des caractères utilisés dans les alphabets latins, inclus tous les types de combinaisons lettre-accents, ponctuations, etc…
La plus utilisée est UTF-8. En France, on retrouve ls plus souvent ISO-8859-1, voire ISO-8859-15 qui a introduit le support du caractère € entre autre.
=Le problème=
Votre site a été probablement créé avec un outil comme Frontpage, qui utilise par défaut la page de caractère windows 1252 qui n’est pas standardisée. Sur un serveur IIS (microsoft), en général ça passe assez bien, mais dès qu’on se retrouve sur un serveur non Microsoft, et qui respecte les standards, le code de page UTF-8 est souvent forcé par le serveur. Dès lors, peu importe que la balise “<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1252″ /> ” soit indiquée en haut de la page web, celle-ci n’est pas prise en compte par firefox, qui se réfère à la balise imposée par le serveur web.
=La solution=
D’abord assurez-vous que dans votre site web, vous avez paramétré la balise charset. Le haut de vos pages doit contenir:
<meta http-equiv="Content-Type" content="text/html; charset=xxx">
xxx étant remplacé par le charset utilisé, par exemple dans le cas de frontpage, windows-1252.
Ensuite,créez un fichier appeler “.htaccess” (le point au début est indispensable) dans lequel vous ajouterez la ligne suivante:
AddDefaultCharset Off
Mettez ce fichier dans le répertoire racine de votre site (en général /httpdocs/ ou /public.html/)
De cette manière, la page de caractère habituellement forcée par le serveur ne sera plus imposée à votre site web. Pour vérifier si l’effet escompté est obtenu, il est indispensable de vider le cache de votre explorateur, qu’il s’agisse de Firefox ou d’internet explorer.