Changer l’encodage d’une page HTML en Unicode

Public visé : les débutants dans le monde de l’internationalisation qui veulent changer l’encodage des caractères de leurs pages HTML.

Question

Comment changer l’encodage des caractères de ma page HTML en UTF-8 ?

On vous a dit qu’il valait mieux utiliser l’Unicode (UTF-8) pour vos pages plutôt qu’un encodage classique comme Latin1 (Windows 1252 ou ISO 8859-1) ou Shift_JIS, et c’est ce que tout le monde fait, mais vous n’êtes pas certain de savoir comment faire. Cette page va vous aider.

Réponse

Cet article résume les informations dont vous avez besoin pour convertir une simple page en encodage de caractères Unicode. Suivez les liens vers d’autres articles du site si vous avez besoin d’explications plus détaillées sur n’importe quelle étape.

Pour de plus amples conseils sur la conversion de sites, de logiciels et de données complexes en Unicode, consultez l’article Migrer vers l’Unicode.

Étape 1 : Enregistrez les données en UTF-8

Il ne suffit pas de changer les déclarations sur vos pages pour pouvoir dire qu’elles sont encodées en UTF-8. Vous devez vous assurer que vos données sont encodées, c’est à dire enregistrées, en UTF-8.

Si vous travaillez avec des fichiers édités à la main, vous devriez vous servir des options de votre éditeur pour enregistrer le fichier en UTF-8 plutôt que dans l’encodage que vous utilisiez. Si vous construisez des fichiers à partir de scripts et de bases de données, vous devriez vous assurer que les données sont converties et que les bons paramètres sont définis dans votre environnement de script.

Notez bien que vous devez faire en sorte que les données n’incluent pas une signature UTF-8, aussi connue sous l’acronyme BOM (byte-order mark).

Étape 2 : Déclarez l’encodage dans votre page

Vous devriez changer la déclaration d’encodage de caractères sur votre page (ou en ajouter une si ce n’est pas déjà fait).

Dans sa forme la plus simple, cela ressemble à l’exemple suivant et devrait se trouver au début de l’élément head dans votre code HTML.

<meta charset="utf-8"/>

Étape 3 : Assurez-vous que votre serveur fait ce qu’il doit faire

Même si vos données sont en UTF-8 et que vous l’avez déclaré sur votre page, votre serveur peut toujours présenter la page avec une bannière d’accompagnement HTTP disant que c’est autre chose.

Faites un essai en intégrant l’URL de votre page dans ce format. Cela vous dirigera vers le contrôleur d’internationalisation. Consultez dans le tableau la ligne comportant le titre HTTP Content-Type, sous Character Encoding, et vérifiez qu’elle affiche soit UTF-8 ou No encoding information found.

Si l’élément HTTP Content-Type affiche un encodage autre que l’UTF-8, vous devrez prendre des mesures pour le corriger, car la déclaration dans la bannière HTTP ignorera les informations à l’intérieur de la page.

Les privilèges d’administrateur du serveur sont nécessaires pour modifier l’encodage envoyé dans la bannière HTTP, bien que vous puissiez peut-être le faire vous-même si vous envoyez les fichiers depuis un ISP. Consultez l’administrateur de votre serveur. Consultez ici une méthode pour le faire sur un serveur Apache.