(Courriels de diversion: <tacha@phraseurs-hachoir.com> <jeuneras@dresseront-enchantez.com> <ecorces@alimenterez-premediterait.com> <avorterez@reduisais-pietina.com> <horrifiait@fourvoyant-degroupees.com> <retribueras@indexee-ensembliers.com> <adresserions@plantureux-reconquises.com> <transposais@devinera-plombons.com> <timbrees@elles-debudgetisa.com> <affilage@hamburger-irriguions.com> )
>>>>> "jdd" == jdd <jdd@dodin.org> writes:
jdd> le validateur du w3c (http://validator.w3.org/) me dit:
jdd>
jdd> "The character encoding specified in the HTTP header
jdd> (iso-8859-1) is different from the value in the <meta>
jdd> element (utf-8). I will use the value from the HTTP header
jdd> (iso-8859-1) for this validation."
tu rencontres un aspect plutôt pénible de la gestion des encodages
sur le web, mais le validateur W3C est sympa et te dit exactement ce
qui ne va pas. Comme l'explique ce document du W3C:
http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2
l'encodage d'une page web peut être spécifiée de deux manières:
1. par une entête Content-Type renvoyée par le serveur web; dans ton
cas on peut vérifier que le serveur prétend que le fichier
contient du iso-8859-1:
,----
| % HEAD http://dodin.org/photo/20051030/index3.html
| 200 OK
| Connection: close
| Date: Mon, 31 Oct 2005 17:49:50 GMT
| Accept-Ranges: bytes
| ETag: "34772-49e-a101b540"
| Server: Apache/2.0.48 (Linux/SuSE)
| Content-Length: 1182
| Content-Type: text/html; charset=ISO-8859-1
| Last-Modified: Mon, 31 Oct 2005 15:38:21 GMT
| Client-Date: Mon, 31 Oct 2005 17:42:43 GMT
| Client-Response-Num: 1
`----
2. par une balise "meta http-equiv=Content-Type", qui dans ton cas
dit bien que le contenu est encodé en UTF-8:
,----
| % GET http://dodin.org/photo/20051030/index3.html | head
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
| <html>
| <head>
| <title>Ariège - 30 Octobre 2005</title>
| <meta http-equiv="content-type" content="text/html; charset=UTF-8">
| <style type="text/css">
`----
Or, comme le dit la spécification ci-dessus, l'entête Content-Type
(lorsqu'elle est présente) est prioritaire sur la balise meta.
Tu as deux solutions pour résoudre ce problème:
1. Convertir les fichiers HTML en iso-8859-1, par exemple avec le
programme recode, et supprimer la balise "meta http-equiv".
2. Dire à ton serveur Apache que les fichiers utilisent un encodage
UTF-8, par exemple en utilisant la directive AddDefaultCharset.
Cette directive peut être utilisée dans les fichiers de
configuration globaux d'Apache si tu souhaites qu'elle porte sur
l'ensemble du site, ou peut être placée dans un ficher .htaccess
si tu ne souhaites que cette directive ne porte que sur un
répertoire (ou si tu ne pouvais pas modifier la config globale
d'Apache, par exemple si tu utilisais l'hébergement web de ton
FAI).
http://httpd.apache.org/docs/2.0/mod/core.html#adddefaultcharset
--
universe -G 6.67e-11 -e 1.602e-19 -h 6.626e-34 &
--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>