Bonjour,
Je souhaiterais savoir quel est le type d'encodage pa default
des navigateures (IE5+, Firefox1+, Safari). ISO8859 ou UTF-8?
Sont-il en detection automatique comme Opera?
Ce paramètre primerait-il sur celui défini au niveau du serveur?
Le probleme est qu'une personne qui a testé mes page a son navigateur en
ISO8859 et que les é et tout caractères spéciaux s'affichent incorrectement puisque j'ai utilisé Dreamweaver en UTF-8.

Autre chose: Existe t-il un editeur HTML qui convertisse automatiquement
les caractère spéciaux (é,è,à...) en entité numérique dans le code?
Modifié par Hermann (09 Dec 2006 - 20:25)
Salut,

Je ne comprends pas trop ta question. Les navigateurs se basent sur l'encodage fourni dans l'en-tête HTTP Content-Type puis sur son équivalent meta (d'où le "http-equiv"). Le meta est utile si tu perds les informations du serveur (par exemple en enregistrant le fichier HTML puis en l'ouvrant en local). Il y a aussi le paramètre "encoding" du prologue XML.
Modifié par Eldebaran (09 Dec 2006 - 13:37)
Eldebaran a écrit :

Je ne comprends pas trop ta question. Les navigateurs se basent sur l'encodage fourni dans l'en-tête HTTP Content-Type puis sur son équivalent meta (d'où le "http-equiv").


Ok mais je ne suis pas d'accord puiqu'apparemment aprés quelques tests
c'est l'encodage defini dans le navigateur qui prime sur celui du meta.

a écrit :
Le meta est utile si tu perds les informations du serveur (par exemple en enregistrant le fichier HTML puis en l'ouvrant en local). Il y a aussi le paramètre "encoding" du prologue XML.


Donc quand je visualise ma page en local le navigateur est
considéré comme le serveur ce qui est assez logique.
Merci
Modifié par Hermann (09 Dec 2006 - 13:44)
Hermann a écrit :
Ok mais je ne suis pas d'accord puiqu'apparemment aprés quelques tests
c'est l'encodage defini dans le navigateur qui prime sur celui du meta.
Oui, en effet, peut-être que quand l'utilisateur définit lui-même l'encodage, il écrase celui que tu as spécifié.

D'où l'intérêt d'ailleurs de spécifier l'attribut "accept-charset" sur les formulaires, pour éviter de recevoir des données invalides sur le serveur.
Hermann a écrit :
Ok mais ça ne répond pas à mes questions.

Mais la page testée était en ligne lorsque les problèmes ont été constatés ?
Si elle était en local chez la personne qui a testé, ça pourrait effectivement fausser le test.

Donc on mets la page en ligne, et ensuite on vérifie les en-têtes HTTP, pour voir ce que dit le serveur.

Je ne sais pas pour les divers navigateurs, mais Firefox (au moins depuis la version 1.0, avant je ne l'utilisais pas) récupère le charset donné dans l'en-tête HTTP. S'il est absent, il recherche une information dans le document lui-même (balise META). Et s'il n'a rien trouvé, il utilise l'encodage par défaut. Tout ceci pour le chargement de la page, bien sur. Si je chage d'abord la page, puis que je lui demande d'interpréter avec un autre encodage (Affichage > Encodage des caractères), c'est une autre histoire. Mais qui fait ça, à part un développeur ? Smiley rolleyes
Si la question est "quel est l'encodage utilisé par le navigateur si aucun n'est spécifié ?", je suppose que pour une version française / anglaise / américaine... ce sera ISO-8859-1, puisque c'est cet encodage qui sera utilisé par les personnes qui ignorent ce que c'est.

<edit>Hermann : pourrais-tu s'il te plait éviter d'éditer ton message 7 heures après l'avoir envoyé sans l'indiquer de façon visible ? Si tu veux rajouter des questions, ça me parait plus logique d'envoyer un nouveau message.</edit>
Modifié par Eldebaran (09 Dec 2006 - 22:50)
a écrit :
Mais la page testée était en ligne lorsque les problèmes ont été constatés ?
Si elle était en local chez la personne qui a testé, ça pourrait effectivement fausser le test.


Non en local.

a écrit :
Donc on mets la page en ligne, et ensuite on vérifie les en-têtes HTTP, pour voir ce que dit le serveur.


Le problème est que je n'ai pas la possibilité de le verifier pour l'instant.
D'ailleurs comment tu procèdes pour le savoir?

a écrit :
Je ne sais pas pour les divers navigateurs, mais Firefox (au moins depuis la version 1.0, avant je ne l'utilisais pas) récupère le charset donné dans l'en-tête HTTP. S'il est absent, il recherche une information dans le document lui-même (balise META). Et s'il n'a rien trouvé, il utilise l'encodage par défaut. Tout ceci pour le chargement de la page, bien sur. Si je chage d'abord la page, puis que je lui demande d'interpréter avec un autre encodage (Affichage > Encodage des caractères), c'est une autre histoire. Mais qui fait ça, à part un développeur ? rolleyes


Ok merci. Donc il faudrait que je sache quel type de charset est utilisé sur le serveur. En général est-il toujours spécifié?

a écrit :
<edit>Hermann : pourrais-tu s'il te plait éviter d'éditer ton message 7 heures après l'avoir envoyé sans l'indiquer de façon visible ? Si tu veux rajouter des questions, ça me parait plus logique d'envoyer un nouveau message.</edit>


Ok je t'accorde que ce n'est pas très logique et j'imagine que ça peut être
agaçant pour toi qui a déjà répondu à certaine de mes questions mais je ne
voulais justement pas editer un nouveau message pour ne pas trop
monopoliser ce forum.
Modifié par Hermann (10 Dec 2006 - 11:18)
Hermann a écrit :
Donc on mets la page en ligne, et ensuite on vérifie les en-têtes HTTP, pour voir ce que dit le serveur.
Le problème est que je n'ai pas la possibilité de le verifier pour l'instant.
D'ailleurs comment tu procèdes pour le savoir?Plusieurs possibilités :
- http://web-sniffer.net/
- Une extension Firefox (WebDeveloper par exemple)
- ...
Hermann a écrit :
Ok je t'accorde que ce n'est pas très logique et j'imagine que ça peut être
agaçant pour toi qui a déjà répondu à certaine de mes questions mais je ne
voulais justement pas editer un nouveau message pour ne pas trop
monopoliser ce forum.
En fait, c'était plus déconcertant qu'agaçant parce que je ne comprenais pas trop ce que tu disais, n'ayant pas relu ton premier message. Smiley smile
Hermann a écrit :
Le problème est que je n'ai pas la possibilité de le verifier pour l'instant.
D'ailleurs comment tu procèdes pour le savoir?

Bon, si le problème s'est produit en local, et pour un site destiné à être en ligne sur un serveur, il n'y a même pas de problème. Le problème ne se posera que si tu as ce genre de résultat ou de retour pour en site servi par un serveur web.

Pour vérifier les en-têtes, tu as plusieurs solutions. La Web Developer Toolbar de Firefox (extension) permet d'avoir l'info (Information > En-têtes HTTP (réponses)), ainsi que certains services en ligne (cf. la FAQ qui en cite un), ou sans doute pas mal d'autres applications.

Hermann a écrit :
Ok merci. Donc il faudrait que je sache quel type de charset est utilisé sur le serveur. En général est-il toujours spécifié?

En général, ça dépend. Il peut être spécifié :
- dans la configuration générale du serveur (rare en mutualisé) ;
- dans la configuration locale du serveur (via un fichier .htaccess pour Apache) ;
- via une fonction ad hoc en PHP (qui a sûrement son équivalent avec d'autres langages).
En général, un CMS codé en PHP (genre, pour prendre simple, Dotclear) adressera de lui-même l'en-tête qui va bien, en plus d'inscrire l'info dans la balise META qui va bien également.


Edit : au fait, je l'ai pas rappelé parce que ça tombe sous le sens, mais READ THE F*CKIN' FAQ... Smiley lol
Modifié par mpop (10 Dec 2006 - 11:46)
Ok merci Eldebaran interessant ce lien par contre que je n'ai que cette indication :
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7[CRLF]

Donc je suppose que le résultat passera quelquesoit le codage (UTF-8 ou ISO)?

Merci Florent pour les infos, ça tombe bien j'ai déja la web developper toolbar mais cette commande ne me donne aucune info sur le charset Smiley ohwell

a écrit :
Edit : au fait, je l'ai pas rappelé parce que ça tombe sous le sens, mais READ THE F*CKIN' FAQ... lol

Ok c'est vrai mais disons que je pensais pas trouver ce genre d'info sur la FAQ.

Bonne soirée
Modifié par Hermann (12 Dec 2006 - 11:44)