Un jeu de caractère est un ensemble bien défini de caractères. Le plus simple est l'ASCII (liste de caractères de base US). Le plus complet et moderne est l'Unicode.
L'encodage d'un jeu de caractères spécifie comment ces caractères seront effectivement stockés sous forme d'octets compréhensibles par un ordinateur. Pour un jeu de caractères donné, il y a souvent le choix entre de nombreux différents encodages, chacun avec ses avantages et ses inconvénients.
Par exemple voici 2 encodages très utilisés pour le jeu de caractère Unicode:
Si vous avez le choix, alors nous vous conseillons d'utiliser le jeu de caractère Unicode avec l'encodage UTF-8. Cet encodage est bien géré par tous les navigateurs et permet de gérer toutes les langues possibles (français, anglais, japonais...)
Si vous avez un site statique, alors il faut vous assurer que vos fichiers HTML sont sauvegardés en UTF-8 (la possibilité existe avec tous les éditeurs texte modernes)
Si vous avez un site dynamique intégrant plusieurs technologies (bases de données, templates HTML, XML, langages tels que PHP, Ruby, ASP...), alors il faut vous assurer que vous maitrisez complètement votre chaine de conversion de caractères à travers chaque brique technologique. Ce n'est pas toujours facile, mais c'est essentiel pour ne pas avoir de caractères corrompus (garbage) lors de l'affichage final dans le navigateur.
Imaginons que vous ayez choisi l'UTF-8 pour votre site statique. Tous vos fichiers HTML ont été sauvegardés au format UTF-8, parfait. Maintenant la question est: comment le navigateur qui interprétera le fichier HTML saura quel encodage est utilisé ? Voici la logique que la plupart des navigateurs utilisent:
Si l'affichage de certains caractères (accentués notamment) est corrompu dans le navigateur, alors il ne faut surtout pas essayer de "bidouiller" et faire une conversion hasardeuse de caractère. Cela risque d'aggraver le problème. Au contraire, il faut analyser complètement le problème pour le résoudre proprement:
Bien entendu, une analyse de votre page avec Yakaferci vous aidera à cerner les problèmes éventuels.
Si cet article vous a donné envie de vous documenter davantage sur le sujet des jeux de caractères, voici quelques liens utiles :