1

Je cherche à valider un fichier XML sur le service de validation du w3c, et j'ai un problème avec les charsets:

Je dois le forcer sur le site de validation pour que ça passe, sinon j'ai un problème avec les accents. Le charset que je spécifie au début de mon fichier ne semble pas être considéré:
<?xml version="1.0" encoding="iso-8859-1" ?>

Le résultat du service de validation:
   1.

      Warning Missing "charset" attribute for "text/xml" document.

      The HTTP Content-Type header (text/xml) sent by your web browser (Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)) did not contain a "charset" parameter, but the Content-Type was one of the XML text/* sub-types.

      The relevant specification (RFC 3023) specifies a strong default of "us-ascii" for such documents so we will use this value regardless of any encoding you may have indicated elsewhere.

      If you would like to use a different encoding, you should arrange to have your browser send this new encoding information.
   2.

      Warning Character Encoding Override in effect!

      The detected character encoding "us-ascii" has been suppressed and "iso-8859-1" used instead.


Le problème viendrait plus du browser que du fichier lui même ? Y a-t-il un moyen de corriger ça ?

Thx happy

2

Tu fais un copier-coller ou tu envoies le fichier ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE test [
	<!ELEMENT test (probleme+)>
		<!ATTLIST test date CDATA #REQUIRED>	
	<!ELEMENT probleme (#PCDATA)>	
]>

<test date="20090821 10:12:00">

	<probleme>Testé</probleme>

	
</test>


Une version allégé qui pose le même problème. Si tu vires le caractère accentué ça passe sans pb.

je me demande si c'est pas à l'envoi (j'utilise le validateur en uplodant le fichier depuis mon pc) que le browser n'envoi pas de charset.

4

et t'as essayé en le mettent quelque part sur le net, et en utilisant le validateur en ligne via l'url ?
Ancien pseudo : lolo

5

Marche très bien smile depuis un serveur free.

C'est un pb à l'upload avec le navigateur, mais j'aimerais bien le régler, parce que du boulot je ne peux pas uploader sur un ftp, et puis ce n'est pas ultra pratique ...

La solution est peut-être plus à chercher du côté des options du navigateurs, mais je ne vois pas trop comment.

6

ah tout les coups, il encore le contenu dans un certain charset sans faire attention à celui spécifié... donc pour passer outre !

tu utilises quoi pour envoyer ton fichier au validateur ? l'extension "web developper" pour firefox ?
Ancien pseudo : lolo

7

heu j'envoie depuis la page web du validateur, manuellement.

J'ai testé avec FF, Chrome et IE, même résultat.

8

tu peux uploader ton fichier quelque part pour qu'on puisse le lire en étant sûr d'avoir le même encodage que toi ? (ton copier-coller du post ./3 a potentiellement modifié l'encodage)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

tromb Fichier joint : test.xml

10

fala !

11

bon ben même problème que toi, ça passe pas et je sais pas pourquoi ^^

(à vrai dire je comprends pas pourquoi ce serait au navigateur d'indiquer le charset dans la requête ?)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Quand tu utilises un lien pour soumettre le fichier, c'est le serveur qui l'envoi visiblement. La il n'y a rien en face pour l'envoyer, donc on doit supposer que c'est le browser.
Mais je vois pas l'intérêt de ne pas tenir compter de ce que l'on déclare dans le fichier.

13

J'imagine que c'est pour la même raison que le charset du serveur prime sur le charset du fichier (et que j'ai toujours trouvé ça stupide, d'ailleurs ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

je vois pas l'intérêt de préciser le charset dans le fichier dans ce cas, effectivement sad

Moralité à chaque fois que je testerai mon fichier, faudra que je force le charset dans la liste déroulante, c'est chiant sad

15

Sauf que si le charset est dans le fichier, ça pose une problème:
-il faut connaitre le charset pour lire le fichier.
-il faut lire le fichier pour connaitre le charset.

Bref c'est un bel exemple de serpent qui se mord la queue.
avatar

16

Pourquoi permettre de l'indiquer, alors ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

17

C'est une très bonne question.
Je serais tenté de penser que ce n'est là qu'à titre indicatif.
avatar

18

cf. ce qui a été dit dans l'autre topic, j'aurais plutôt vu la chose comme ça :

- le serveur indique un encodage qui permet de lire au moins l'en-tête du fichier
- le client lit le fichier, s'il tombe sur une nouvelle indication de charset au sein du fichier il la prend en compte (le fichier ne va pas préciser un charset invalide, il est le "mieux placé" pour savoir comment il doit être lu)
- faute de nouvelle indication, c'est le charset du serveur qui est utilisé pour lire l'intégralité du fichier

comme quasiment tous les charset sont compatibles pour les caractères ASCII, ça pourrait marcher, et au moins ça ne rendrait pas l'indication de charset dans le fichier totalement inutile :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

19

Via safari, ça passe, et firefox se vautre comme une loutre bourrée à la bière. Faut voir que le charset de la page est en utf-8, et si tu changes le charset et soumets ton fichier de nouveau, il rechange le charset. Faudrait avoir un moyen de forcer le charset à ne pas prendre en compte celui de la page pour pouvoir tester (c'est juste une idée comme ça)
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi