Bonjour,

Je viens vous demander de l'aide car j'ai commencé à modifier mon site en profondeur pour qu'il soit valide. Mais sur l'une des seules pages qui l'est complètement, une utilisatrice m'a rapporté un problème de caractères accentués (elle utilise ie8 et ils sont remplacés par arobase).
J'ai lu différentes choses sur alsacréations et ailleurs mais sans succès et le problème c'est que je ne constate pas le problème chez moi.
La page est http://www.natationpourtous.com/debuter/index.php

Je vous remercie par avance.
Modifié par Dino (10 Nov 2009 - 16:58)
Chez moi, les caractères s'affichent correctement sous IE 8 (sous Windows XP SP 3).

As-tu vérifié que tes fichiers PHP étaient bien édités en UTF-8 ?
Oui j'ai vérifié tous les fichiers et j'ai tout mis en utf8 (sans BOM) avec notepad.

Par contre curieusement :
- sur les pages où j'ai encodé en utf8 (sans BOM), l'utilisateur rapporte un problème d'accent mais tout passe bien au validateur.

- sur les pages où j'ai encodé en utf8, il n'y a pas de problème d'accent pour cet utilisateur mais cela cause une erreur de validateur (exemple en cliquant sur technique dans le menu du haut) ainsi qu'un espace en haut de la page.

Si vous ne voyez rien non plus, il s'agit peut-être d'un problème de navigateur mais alors que faudrait-il que l'utilisateur règle pour ne plus avoir ce problème? Smiley confus Je n'ai vu aucun réglage de ce type dans explorer, j'ai essayé de changer la langue mais ça n'a pas eu d'effets.
Dino a écrit :
- sur les pages où j'ai encodé en utf8 (sans BOM),
(...)
- sur les pages où j'ai encodé en utf8,

Tu veux dire que tu as des pages en UTF-8 sans BOM (bien), et des pages en UTF-8 avec BOM (pas bien, en général)? Et que ça passe bien dans le deuxième cas?

Du moment que le codage des caractères est bon (les pages sont effectivement en UTF-8) et qu'il est bien déclaré (les pages sont déclarés comme étant en UTF-8), il ne devrait pas y avoir de souci. On peut à la rigueur imaginer un problème à cause d'une configuration obscure d'IE8, mais je n'ai jamais rencontré ce problème et je n'en ai pas entendu parler jusqu'ici.

Ce que tu peux faire par contre, c'est:
- t'assurer que toutes tes pages sont bien en UTF-8 sans BOM (le BOM ça sert à rien à part créer des problèmes);
- configurer le serveur pour envoyer l'information sur le codage dans l'en-tête HTTP Content-Type (et donc pas déclarer le codage uniquement dans la source HTML).

Les en-têtes HTTP reçus pour la page que tu indiques:
Date: Tue, 10 Nov 2009 13:14:02 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Keep-Alive: timeout=2, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

200 OK

Tandis qu'il faudrait:
Date: Tue, 10 Nov 2009 13:14:02 GMT
Server: Apache
X-Powered-By: PHP/5.2.11
Keep-Alive: timeout=2, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

200 OK