Les accents

Avez-vous déjà vu une page Web qui n'affiche pas correctement les caractères accentués ? Certainement ! Pourtant, la gestion des accents, quand elle est bien comprise, n'est pas tellement complexe.

Après avoir lu cette série d'articles, vous aurez en main tout ce qu'il vous faut pour bien gérer les accents sur votre site Web et dans votre base de données.

▼Publicité

128 premiers caractères de la charte ASCII

Avant de s'attaquer à l'affichage des accents sur le Web, il faut comprendre qu'à l'origine, les ordinateur ne pouvaient afficher que des caractères prédéfinis. Ils ne fonctionnaient pas en mode graphique comme aujourd'hui. Les informaticiens de l'époque ont donc créé une charte ASCII (American Standard Code for Information Interchange) pour définir les caractères qui pourraient être représentés sur l'ordinateur.

Le problème, c'est que les caractères accentués ne faisaient pas partie de la charte ASCII originale qui était codée sur 7 bits avec une possibilité de 128 caractères. Cette charte définissait seulement lettres majuscules et minuscules de même que les chiffres, quelques caractères de base comme les opérateurs mathématiques ainsi que quelques caractères de contrôle.

Charte ASCII étendue

Afin de pouvoir représenter les caractères accentués, il a donc fallu coder la table sur 8 bits, augmentant le nombre de caractères à 256. La charte ASCII étendue permettait donc de représenter les caractères accentués et autres caractères spéciaux. Grâce à la charte ASCII étendue, on pouvait désormais afficher à l'écran des messages en bon français. Les nouveaux caractères définis incluaient également les lignes horizontales, verticales et les coins permettant de dessiner les cadres des boîtes de dialogue. Les programmeurs utilisaient donc intensivement la charte ASCII étendue.

Un autre avantage de la charte ASCII étendue : il est possible de reproduire la majorité de ses caractères en maintenant enfoncée la touche ALT de gauche et en appuyant à tour de rôle sur les chiffres représentant son code décimal sur le pavé numérique à droite du clavier. Ainsi, Alt+1,3,0 affiche un é à l'écran. Si vous n'obtenez pas le caractère souhaité, il se peut que ce soit dû à l'interprétation des systèmes d'exploitation modernes.

Puisqu'il était nécessaire d'entrer manuellement le code ASCII des caractères accentués et des éléments des boîtes, les programmeurs aimaient avoir sous la main un tapis de souris comme celui-ci :

Tapis de souris avec charte ASCII

Voici, à titre d'exemple, quelques configurations de boîtes que la charte ASCII étendue permettait de réaliser. Saurez-vous retrouver le code des caractères qui composent chacune de ces boîtes ?

Exemple boîte ASCIIExemple boîte ASCIIExemple boîte ASCIIExemple boîte ASCII

La charte ASCII étendue a ouvert de nombreuses possibilités mais il fallait être prudent en utilisant cette table puisqu'elle existe en plusieurs versions selon la plateforme utilisée et la région. La charte ASCII étendue européenne était donc différente de celle utilisée en Amérique.

ISO et Unicode

Avec les années, la charte ASCII étendue est devenue insuffisante pour répondre aux nouveaux besoins, principalement à cause de l'internationalisation. Différents nouveaux jeux de caractères sont donc apparus. Les plus utilisés en Amérique du Nord sont la normes ISO comme ISO-8859-1 (latin1) et ISO 8859-15 (latin9) ainsi que le codage Unicode comme UTF-8 et UTF-16.

Les codes Unicode peuvent également être reproduits sur le clavier. Pour reproduire un de ces codes, maintenez enfoncée la touche ALT de gauche et appuyez à tour de rôle sur les chiffres représentant son code Unicode. Il faut prendre soin de débuter le code unicode par un zéro. Par exemple, le guillement français gauche («) sera obtenu en faisant Alt+0,1,7,1 et le guillemet français droit (»), avec Alt+0,1,8,7.

Puisqu'il existe maintenant une multitude de jeux de caractères, chaque acteur (fichier texte, encodage HTML, base de données) impliqué dans l'affichage d'une page Web doit indiquer quel encodage il utilise. Chacun a bien sûr un encodage par défaut mais malheureusement, l'encodage par défaut du fichier texte contenant le code PHP, celui du code HTML et celui de la base de données ne sont pas nécessairement les mêmes. C'est ce qui cause les problèmes d'affichage d'accents.

Il faut donc préciser à chacun de ces acteurs l'encodage qu'il doit utiliser lors de l'affichage de la page Web.

Pour plus d'information

« Codage de caractères ». Wikipedia. http://fr.wikipedia.org/wiki/Codage_de_caract%C3%A8res

« Caractères ASCII, ISO8859-1, Unicode, UT-8 ». L'ABC de l'Internet et du Web. http://www.davignon.qc.ca/iso.htm

« American Standard Code for Information Interchange ». Wikipedia. http://fr.wikipedia.org/wiki/ASCII

« Introduction aux jeux de caractères ». Open Web Group. http://openweb.eu.org/articles/jeux_caracteres

« Box-drawing characters ». Wikipedia. http://en.wikipedia.org/wiki/Box-drawing_characters

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories