Un document html5 a la structure suivante

[html]
<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  ...
  <!-- Le reste du contenu -->
  ...
</body>
</html>

… en html4 la balise en question avait la forme suivante

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

Évidemment (ce n'est sans doute pas évident pour tout le monde[1]), il faut que le document soit encodé dans le charset annoncé pour que ça fonctionne bien.

Lorsque j'édite un fichier texte (un fichier html est un fichier texte), l'éditeur que j'utilise choisit une manière d'encoder les caractères. Même si aujourd'hui c'est souvent l'utf-8 qui est choisi, ce n'est pas une obligation …

Sous linux, la commande file permet d'obtenir cette information

$ file example.html
example.html: HTML document, ISO-8859 text
$ file example2.html
example2.html: HTML document, UTF-8 Unicode text

C'était le petit rappel pour les webmasters débutants …

Liens

À lire aussi

Note

[1] Et c'est là que je fais le lien (discret) avec l'affaire Linkeo qui aura marqué les esprits en ce début juin 2013