Je commence à entrevoir ce qui fout la merde, en observant les en-têtes HTTP (à la bourrin, en ligne de commande, avec telnet
)
Quand on contacte l'ancien site, l'échange est le suivant :
Belgarath:~ wfh$ telnet artofwar.free.fr 80
Trying 212.27.63.157...
Connected to perso157-g5.free.fr.
Escape character is '^]'.
GET / HTTP/1.0
Host:artofwar.free.fr
HTTP/1.1 200 OK
Date: Sun, 12 Sep 2010 13:02:55 GMT
Server: Apache/ProXad [Aug 9 2008 02:45:09]
X-Powered-By: PHP/4.4.3-dev
Connection: close
Content-Type: text/html
Par contre, avec le nouveau serveur, j'obtiens ça :
Belgarath:~ wfh$ telnet www.jenesuis.net 80
Trying 88.191.121.72...
Connected to jenesuis.net.
Escape character is '^]'.
GET / HTTP/1.0
Host:www.jenesuis.net
HTTP/1.1 200 OK
Date: Sun, 12 Sep 2010 12:55:01 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.6-1+lenny9
Vary: Accept-Encoding
Content-Length: 6282
Connection: close
Content-Type: text/html; charset=UTF-8
La dernière ligne, sur le serveur Free, précise juste que le contenu est du texte. L'encodage est ensuite précisé dans l'en-tête HTML de la page :
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Par contre, sur le nouveau serveur, l'encodage du contenu est forcé à UTF-8 directement dans l'en-tête HTTP. Bref, on est mal. Je joue avec les .htaccess, je vous tiens au courant