Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Sur le Web : ISO 8859-1 ou UTF-8 ?

Par Thomas FAVRE Publié le 17/09/2018 à 15:44:17 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Problématique

Chaque caractère doit être encodé afin d'être compris puis transmis par l'ordinateur. L'encodage est, pour résumer, une table de correspondance entre des caractères et des valeurs sur un ou plusieurs octets. De ce fait, chaque ordinateur lisant un encodage pourra communiquer facilement avec les autres machines utilisant le même encodage. Ils "parlent la même langue", calligraphiquement parlant.


  

Ces règles sont aussi valables sur le Web. En effet, une page ayant un certain encodage doit le spécifier, en plus de choisir l'encodage adapté à son contenu. Une page affichant des caractères russes n'aura pas le même encodage qu'une page affichant seulement de l'alphabet latin. Et l'alphabet n'est pas le seul critère. En fonction des pays, quelques subtilités de langue apparues plus tard nécessitent une attention particulière.


  

Cet article s'adressant particulièrement à un public français, ici, nous étudierons deux familles d'encodage : un encodage dit local et un international. Nous verrons enfin comment intégrer ces encodages à votre site.


  

L'ISO 8859-1, pour l'alphabet latin.

L'ISO 8859 vient de l'ISO, et se compose de multiples parties. Sans rentrer dans les détails, on peut y retenir :

  • l'ISO 8859-1 (latin-1), extrêmement utilisé, a depuis longtemps été "l'encodage par défaut", malgré ses quelques défauts. Il couvre néanmoins la majorité des langues de l'Europe Occidentale.

  • l'ISO 8859-15 (latin-9), une version plus récente de l'ISO 8859-1, comprenant aussi le symbole euro, et quelques caractères spéciaux

  • l'ISO 8859-2 (latin-2), couvrant les langues d'Europe centrale

  • etc...


  

Ces encodages limitent le nombre de caractères possibles aux plus utilisés, il est donc par nature plutôt rapide. La différence reste minime comparée aux autres encodages. Il est malgré tout nécessaire d'utiliser des entités HTML pour remplacer les caractères indisponibles. C'est sa grande faiblesse, et c'est ce qui le rend limité.


  

L'UTF-8, pour l'international.

UTF-8 est l'abbréviation de Universal Character Set Transformation Format1 8 bits. Il gère énormément de langues, et permet d'insérer quasiment n'importe quel caractère sans trop se poser de questions.


  

Revers de la médaille, il possède plus de caractères donc est légèrement plus lent. Néanmoins, la puissance des machines actuelles réduit cet écart de plus en plus, et ce seul inconvénient n'est plus vraiment à prendre en compte lors du choix de l'encodage. Il est pris en charge dans la plupart des logiciels et systèmes d'exploitation.


  

Il composait 82% des sites en décembre 2014, et 90% en décembre 2017 (d'après W3techs). Il est donc de plus en plus courant, et est donc un meilleur choix dans la majorité des cas.


  

Où indiquer l'encodage ?

Dans les headers HTTP, il est possible d'indiquer la ligne suivant dans le fichier .htaccess, de sorte que l'encodage soit automatiquement défini sur UTF-8, dans cet exemple, à chaque requête sur le serveur.


  AddDefaultCharset UTF-8
  

Dans les balises head, à l'intérieur du code, il est possible de définir l'encodage via une balise meta.


      <head>
      <meta charset="UTF-8">
      </head>
  


  

Il existe d'autres méthodes, mais elles ne seront pas abordées ici. Ce sont les deux méthodes les plus utilisées et les plus simples pour ce but. Il est également possible de passer par PHP pour modifier les en-têtes des requêtes HTTP.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels