Utiliser la touche d'accès n pour naviguer au sein de la page. Sauter au début du contenu.

Ce document est une traduction. En cas de divergences ou d'erreurs, la dernière version originale en anglais fait autorité. Comme indiqué ci-dessous, les droits d'auteur reviennent au W3C.

Traducteur: Steve Frécinaux

s_gotoW3cHome Internationalisation
 

Vérifier les en-têtes HTTP

Public visé : users, XHTML/HTML coders (using editors or scripting), script developers (PHP, JSP, etc.), Web project managers, and anyone who needs to know how to check the character encoding used by the HTTP header.

Note: Des changements ont été apportés au document original en anglais depuis sa traduction. Consulter le fichier des changements.

Question

Comment puis-je vérifier les informations envoyées dans les en-têtes HTTP d'un document web concernant l'encodage des caractères ?

Contexte

Il est important d'indiquer clairement l'encodage des caractères (charset) d'un document servi sur le web. Sinon, un récepteur peut ne pas interpréter correctement le document. Un navigateur web, par exemple, pourrait afficher des caractères aléatoires à la place d'un texte lisible. Une façon d'indiquer l'encodage d'un document web est de mettre cette information dans le paramètre charset de l'en-tête Content-Type.

In particular, it is important to note that the encoding declared in the HTTP header overrides all in-document encoding declarations in HTML and CSS files.

Réponse

Il y a plusieurs façons de vérifier le document réellement servi, en-têtes inclus :

The i18n Checker

The Internationalization Checker tool, developed by the W3C, checks web pages for various internationalisation issues. It also has an information section that summarises key internationalization-related information about a page, such as character encoding and language declarations, etc. That section tells you whether an encoding declaration is used in the HTTP header, and if so, what is the encoding.

The i18n checker tool is particularly useful, since it also shows you other encoding declarations used in the document, and raises a flag if there are differences.

Utiliser un service web

Il existe différents services qui vous montrent tous les en-têtes HTTP et la source HTML/XHTML du document retourné par le serveur après que vous ayez entré l'adresse du document qui vous intéresse :

Note : Le W3C n'est affilié à aucun de ces services.

Parmi les en-têtes HTTP, recherchez l'en-tête Content-Type, et en particulier le paramètre charset, par exemple

Content-Type: text/html; charset=utf-8

Note : Le paramètre charset peut ne pas être présent. Cela ne pose aucun problème si votre document lui-même indique son encodage de caractères.

Utiliser le service de validation de balisage du W3C

Pour vérifier le balisage, le service de validation doit s'assurer qu'il décode correctement le document qu'il vérifie. Il vous montrera un message d'erreur s'il ne peut trouver d'information à propos de l'encodage, s'il trouve une information conflictuelle, ou s'il ne peut décoder le document grâce à l'information qu'il trouve.

Pour savoir quel encodage le validateur a trouvé, vous pouvez utiliser l'interface étendue. Dans cette interface, vous pouvez aussi sélectionner l'option afficher la source (show source), et alors vérifier visuellement que la source est correctement interprétée. C'est utile pour vérifier que vous utilisez le bon encodage. Il n'est pas toujours possible de vérifier mécaniquement si, par exemple, un document qui se dit en iso-8859-1 n'est pas en fait encodé avec iso-8859-2 ou quelque autre encodage.

Utiliser telnet ou un autre outil en ligne de commande

Ceci nécessite un peu plus de connaissances techniques, mais peut être plus facile à automatiser. wget (avec une option -s ou -S) est un autre outil en ligne de commande.

En passant

Certains serveurs transcodent le document web qu'ils servent vers différents encodages pour différents clients. C'est le cas par exemple pour certains serveurs en Russie. Ceci requiert une attention spéciale, car votre navigateur, s'exécutant par exemple sur un système Mac ou Windows, peut indiquer qu'il utilise un encodage différent que celui qui vous est donné par un service web ou par le service de validation du W3C (qui sont la plupart du temps basé sur des systèmes UNIX).

Donnez-nous votre avis (en anglais).

Abonnez-vous au flux RSS.

Nouvelles publications

Les nouvelles de la page d'accueil

Twitter (Les nouvelles de la page d'accueil)

‎@webi18n

Pour approfondir

Par : Martin Dürst, W3C. Modifié par : Richard Ishida, W3C. Traducteur : Steve Frécinaux.

XHTML 1.0 valide !
CSS valide !
Codé en UTF-8 !

Traduit d’un contenu en anglais daté du 2010-08-28. Dernière modification de cette traduction le 2010-08-28 7:29 GMT.

Pour un résumé des changements importants, recherchez qa-headers-charset dans le blog i18n.