Bonjour,
Avant tout, un en-tête HTTP, ce n'est pas ce que tu cites dans ton message ci-dessus (tu cites le
doctype et la balise
html. Voir à ce sujet le tutoriel sur les dtd /
http://css.alsacreations.com/Bases-et-indispensables/DTD-comment-choisir )
Lorsque le navigateur "demande" une page au serveur, ils échangent un certain nombre d'informations pendant la transmission de celle-ci. Ce sont les en-têtes HTTP, que l'utilisateur ne voit pas, mais que tu peux visualiser aisément à l'aide d'un outil du type
Websniffer, ou des extensions de développement pour Opera ou Firefox, ou d'un proxy local, etc.
Lors de cet échange, le serveur envoie au navigateur l'indication de l'encodage du fichier HTML. C'est l'entête
content-type. Même si cet encodage est indiqué par ailleurs
dans le fichier (une balise
meta http-equiv), c'est l'indication donné en en-tête HTTP par le serveur qui l'emporte. Voir
http://blog-and-blues.org/weblog/2004/08/16/275-encodage-caracteres-xhtml
Ces informations d'encodage sont envoyées à tous les
clients qui s'adressent au serveur, c'est à dire aussi aux robots d'indexation. Reste à savoir lesquels ont été prévus pour exploiter des encodages évolués, du type utf-8. Ce n'est manifestement pas le cas de
http://www.webfr.org/index.html?page=metatag , qui n'exploite à vrai dire pas grand chose d'évolué, voire pas grand chose du tout, et qui n'est pas un service franchement performant. En revanche, Google sait très bien exploiter l'encodage utf-8, et il est inutile de ce point de vue d'utiliser les encodages en entités caractères à la place des caractères littéraux dans le document, que ce soit en <head> ou en <body>. La seule précaution éventuellement à prendre est :
- de s'assurer que l'en-tête content-type indique le bon encodage (voir Web-sniffer ci-dessus)
- de placer dès le début de <head> la balise <meta> indiquant l'encodage.
- et de s'assurer que le document utilise réellement l'encodage en question