Charset iso-8859-1, iso-8859-15, utf-8, lequel choisir ?

Astucehtml

Publié par le , mis à jour le (368996 lectures)

xhtml utf8 utf iso-8859 8859 encodage

Il faut tout d'abord distinguer deux familles d'encodage de caractères : les "locaux" et les "internationaux".

Les jeux de caractères locaux (dont font partie iso-8859-1 et iso-8859-15 - parfois désignés comme latin1 et latin9) sont destinés à des documents dans un seul système d'écriture (une langue ou un groupe de langue utilisant un même alphabet ou syllabaire). Au contraire, les jeux de caractères internationaux (dont fait partie l'UTF-8) sont destinés à encoder des document dans n'importe quel système d'écriture (et donc n'importe quelle langue). Ce sont des standards Unicode.

Alors que choisir ?

On peut observer deux cas de figure:

  1. Mon site gère différents systèmes d'écriture (par exemple l'espagnol et le russe) ou va le faire à l'avenir :
    La seule solution gérable dans ce cas est l'utf-8. En effet, il affiche correctement les différents caractères nécessaires à tous les systèmes permettant de ne pas se préoccuper de la nature du contenu lors de son affichage.
  2. Mon site ne gère actuellement qu'un système d'écriture (par exemple anglais et français) :
    C'est ici que la question se pose vraiment, et la réponse est comme d'habitude - ça dépend.

Voici un aperçu des avantages et inconvénients de chaque solution :

L'iso-8859-1...

  • est simple à employer (c'était souvent celui "par défaut", c'est moins vrai aujourd'hui);
  • est le plus minimal possible (donc souvent le plus rapide);

mais...

  • implique d'utiliser des entités HTML dès que l'on souhaite insérer un caractère ne faisant pas partie des quelques 189 disponibles;
  • ne gère que les langues occidentales (latines) et est donc faiblement adaptable.

L'iso-8859-15 est dérivé de l'iso-8859-1. Certains caractères jugés inutiles ont été retirés et d'autres ajoutés à leur place (notamment le symbole de l'euro, «€», et le «e dans l'o»). Il présente globalement les mêmes caractéristiques que l'iso-8859-1 avec cependant le désavantage d'être apparu plus récemment et d'être donc un peu moins répandu/supporté.

L'utf-8...

  • gère la plupart des langues utilisables et est donc facilement adaptable;
  • permet de se passer de la plupart des entités html (les caractères réservés «<», «>» et «&» devront toujours être échappés en &lt; &gt; et &amp;);
  • représente «l'aboutissement» de l'encodage, il est peu probable que vous ayez à changer pour un autre suite à une évolution du site;

mais...

  • code les caractères d'une manière plus complexe (et consomme donc souvent légèrement plus de ressources).

Évolution des tendances

La tendance étant à l'internationalisation et à la portabilité, l'UTF-8 devient populaire, et de fait son support est assuré de plus en plus efficacement par les éditeurs texte autant que par les langages de programmation et les bases de données (MySQL permet la gestion des jeux de caractère depuis sa version 4.1).

En conclusion, on peut dire qu'une bonne partie des désavantages de l'iso-8859-1 proviennent de sa définition même, alors que ceux de l'utf-8 disparaissent petit-à-petit. La balance pencherait donc plutôt du côté du dernier. Cela ne fait pas du premier un encodage obsolète pour autant, il faut seulement prendre conscience des limitations que l'on s'impose et savoir si elles ne risquent pas de devenir gênantes à l'avenir. Rappelez-vous qu'il est bien plus simple de commencer directement dans le bon encodage que de changer à posteriori.

Comment déclarer le charset ?

  1. Avec l'en-tête HTTP Content-type :
    • Via un fichier .htaccess : AddDefaultCharset UTF-8
    • En PHP : header('Content-Type: text/html;charset=UTF-8');
  2. En XML et XHTML, avec le prologue : <?xml version="1.0" encoding="UTF-8"?>
  3. Grâce à la balise meta dans le code
    • En HTML5 : <meta charset="UTF-8">
    • En HTML4 : <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    • En XHTML 1.1 : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Commentaires

Salut, j'ai jeté un oeil à ce site, et de prime abord (c'est comme ca que ca s'ecrit ? ) je le trouve tres fouilli, les "bonnes manieres" ne sont pas tres bien ordonées, un classement plus clair, par categorie de moins en moins generalistes aurait etait plus simple a utiliser je pense. Ce site reste a mon avis tres utile si on arrive a rentrer dedans. Quelques points sont par contre discutables je trouve, enfin disons que je ne partage pas cet avis, un petit exemple rapide, le changement de mise en forme des liens déjà visités ne me semble pas etre vraiment tres important. Disons que je n'ai pas compris l'interet du point de vue accessibilité, il faudrait qu'on m'explique ! et la peut etre que je changerais d'avis si les arguments sont bons !

@Raphael Goetter> tu m'avais demandé un jour il y a une semaine ou 2 ou en etait l'avancement de mon weblog, et bien j'ai le plaisir de t'annoncer qu'il n'y en a plus pour tres longtemps ... Reste a voir si le contenu sera bon :s

@++

@ el moustiko
"...le changement de mise en forme des liens déjà visités ne me semble pas etre vraiment tres important. Disons que je n'ai pas compris l'interet du point de vue accessibilité, il faudrait qu'on m'explique ! et la peut etre que je changerais d'avis si les arguments sont bons !"

Oui, mais chacun voit midi à sa porte, et d'autres trouveront problablement un autre conseil pas nécessaire.
Pour ma part, les liens visités me sont toujours utiles sur une navigation, car ils évitent de cliquer deux fois sur le même lien s'il est disponible à plusieurs endroits ou si le site comporte beaucoup de liens ou si tu reviens plus tard sur le site.
Mais comme toi, j'ai émis certains doute sur certaines de ces bonnes pratiques, mais je trouve le site trés interressant d'un point de vue informatif.

On a plus besoin de gérer ses marques-pages, il suffit d'aller faire un tour chez Alsa...

La filiation entre OpenWeb et Opquast n'est pas si évidente que ça puisque j'étais le seul lien entre les deux à la création du projet, même si Denis Boudreau est venu nous rejoindre par la suite. Je dis nous car le projet repose surtout sur les travaux d'Elie Sloïm, directeur de Temesis et extérieur à OpenWeb. Même si des rumeurs d'entrée dans l'OpenWeb Group circule. :-)

Pour le reste, je précise qu'il s'agit à ma connaissance du premier référentiel Open Source soumis à la critique publique. Donc oui, il reste beaucoup de lacunes mais le but est justement de les trouver. Nos bonnes pratiques se verront agémenter d'un pourquoi, d'un comment (meilleure solution technique) et d'un moyen de contrôle automatisé autant que possible (validateur, par exemple).

Il est actif le p'tit fabrice pour le moment ;-) J'le voit sur tous les blogs... c'est peut-être qu'on compulse les mêmes ^^

Je viens de visiter le lien que tu forunis Sib' je vais attendre de voir comment ca évolue, mais suis juste un poil décu sur le visuel et c'est ce qui m'a le plus "choqué", un poil tristoune... enfin s'il n'ya que l'emballage a changer... on doit tenir le bon chemin non ?
Bref on va garder un oeil sur le projet ^^
@ElMoustiko :> le contenu ? M'en parle pas surtout quand comme moi, il ya quelques temps, tu tombes dans une période un peu creuse niveau motivation ca aide pas