HTML Encodage
En informatique, les caractères alphabétiques sont associés à des codes binaires, c'est à dire composés d'une suite de 1 et de 0. Il existe plusieurs façon de traduire les caractères en codes binaires :
- ASCII, les caractères sont codés sur 7 bits, soit un code composé de sept chiffres binaires. Il permet donc de représenter 27 soit 128 caractères différents. 128 caractères sont suffisant pour mémoriser notre alphabet, les chiffres, des éléments de ponctuation (...), mais pas suffisant pour stocker nos caractères spéciaux (lettres accentuées...)
- ISO-8859-1 (souvent appelée Latin-1), les caractères sont codés sur 8 bits. Il permet donc de représenter 28 soit 256 caractères différents. 256 caractères sont suffisant pour mémoriser notre alphabet latin avec les caractères spéciaux (accents...)
- ISO-8859-15 (souvent appelée Latin-9) est une variante réactualisée du Latin-1. Toujours codé sur 8 bits, il ajoute notamment le caractère euro (€) et les caractères œ et Œ à la place de certains caractères peu utilisés.
- Windows-1252 (parfois appelé ANSI) est un encodage propre aux ordinateurs Windows. S'il est lui aussi codé sur 8 bits, certains caractères diffèrent des codages ISO vu ci-dessus.
- UTF-8 est un encodage dit "Unicode". L'Unicode vise à donner à tout caractère quel que soit son alphabet (latin, cyrillique, asiatique...) un code unique et compatible sur toutes les plateformes (Windows, Mac, Unix). L'UTF-8 est codé sur 8 à 32 bits ce qui permet d'encoder un nombre de caractères quasi illimité.
Historique
A l'origine, les fichiers HTML sont faits pour être encodé en ASCII, c'est à dire sans caractères spéciaux. Pour pallier à ce problème, le langage HTML permet de traduire chaque caractère spécial par un code alpha numérique comme décrit dans les tables ci-après.
Ajourd'hui encore, utiliser cette table de conversion permet de se prémunir contre les incompatibilités.
L'avantage de l'UTF-8
L'UTF-8 est compris par tous les navigateurs courants. Il permet d'encoder un nombre quasi illimité de caractères (plus de 4 milliards !).
En utilisant l'UTF-8 dans nos pages, on s'affranchit de la conversion des caractères spéciaux en code HTML. Un "e" avec accent aigu" pourra donc être écrit directement "é" et non "é" dans notre code source.
Il faut préciser dans l'entête de votre page l'encodage choisi (ajouter le code suivant entre les balises <head> et </head> )
<!-- EN HTML 4 -->
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<!-- EN HTML 5 -->
<meta charset="UTF-8">