Outils pour utilisateurs

Outils du site


enseignement:lea:cours:informatique:html-css:html-encodage

Jeux de caractères

Tableaux

Extrait de la page sur le codage :

Codage des caractères

On utilise des nombres pour représenter les caractères.

Le clavier envoie un signal lors de la frappe d'une touche. Ce signal est interprété différemment suivant la configuration du clavier (AZERTY vs QWERTY vs DVORAK…) sur le système.

Une page de code (table de correspondance) est alors utilisée pour faire correspondre un point de code (un nombre de la table) au caractère. Le character set est la table listant les caractères. Ces caractères sont représentés par des glyphes (qui changent suivant la fonte utilisée).

ASCII

Les anglo-saxons peuvent n'utiliser que 128 (27) caractères. On représente les 26 lettres de l'alphabet en majuscules et minuscules mais aussi les chiffres, la ponctuation et certain nombre de caractères non-imprimables (fin de ligne, espace, etc., cf. Caractères de contrôle utiles).

Le codage ASCII est la norme de base. Il ne permet pas de représenter les signes diacritiques (accents, trémas, cédilles, tildes, …) des langues européennes, encore moins les alphabets autre que latins : cyrillique, arabe, hébreu, dévanagari, etc.

ISO-8859-X

En se basant sur les positions 0 à 127, on étend la table à 256 caractères pour établir plusieurs normes permettant d'encoder du texte dans les langues utilisant les caractères manquants en ASCII. Les positions au delà de 128 varient d'une norme à l'autre mais les premières positions, elles, sont fixes.

Typiquement :

  • ISO-8859-1 (latin 1) représente les langues d'Europe occidentale,
  • ISO-8859-15 (latin 9) représente la même chose avec le symbole €,
  • ISO-8859-2 (latin 2) représente les caractères des langues d'Europe centrale,
  • ISO-8859-16 représente la même chose avec le symbole €,
  • etc.

Unicode

Avec le codage précédent, on ne peut disposer dans un même texte de caractères cunéiformes et latins. Unicode est une norme permettant de coder les quelques 50000 caractères (à l'heure de la rédaction de ces lignes) de toutes les langues (écrites, vivantes et mortes) connues.

UTF-8

UTF-8 est une méthode de stockage des caractères Unicode. Il utilise un à quatre octets (codage variable) suivant le caractère ; les 128 premières position correspondent à l'ASCII.

Les autres codages

Les constructeurs ont aussi mis au points leurs propres jeux de caractères, par exemple Win-1252 (Microsoft) et MacRoman (Apple) pour les langues occidentales.

2008/10/16 22:57

Méta-données

Dans les métadonnées, indiquer l'encodage du fichier comme suit :

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

Pour éditer vos fichiers HTML, n'oubliez pas de configurer votre logiciel pour qu'il code correctement les caractères : si vous déclarez votre page en ISO-8859-1 mais que votre logiciel enregistre en Win-1252, les caractères accentués s'afficheront « bizarrement » ; évidemment il en est de même pour toute autre combinaison : le codage doit correspondre à la déclaration.

Texte manifestement en UTF-8 affiché comme de l'ISO-8859-1

Caractères en HTML

On peut coder les caractères directement par leur code : &#8364; (€). On peut aussi utiliser leur « nom » : &euro;. Dans les deux cas, ces déclarations commencent par une esperluette et finissent par un point virgule. Pour une représentation codée, le nombre est exprimé en décimal, précédé d'une dièse ou en hexadécimal précédé de dièse suivi de la lettre x : &#8364; ou &#x20AC; représentent tous deux le caractère €.

Quelques caractères utiles

Caractère Représentation Caractère Représentation
à &agrave; À &Agrave;
â &acirc; Â &Acirc;
ä &auml; Ä &Auml;
é &eacute; É &Eacute;
è &egrave; È &Egrave;
ë &euml; Ë &Euml;
ê &ecirc; Ê &Ecirc;
ï &iuml; Ï &Iuml;
î &icirc; Î &Icirc;
ô &ocirc; Ô &Ocirc;
œ &oelig; Œ &OElig;
ù &ugrave; Ù &Ugrave;
ü &uuml; Ü &Uuml;
« &laquo; » &raquo;
espace insécable &nbsp; espace fine &thinsp;
ç &ccedil; Ç &Ccedil;

Liste des caractères HTML

Feuilles de style

enseignement/lea/cours/informatique/html-css/html-encodage.txt · Dernière modification: 2008/10/17 19:35 par Pascal Cabaud