Administrateur
Bonjour,

j'ai un problème persistant d'encodage des caractères accentués d'un fichier XML que je ne vois pas comment résoudre.
Le fichier XML se trouve sur le Net, il présente ces problèmes d'affichage dans IE et dans FF.

FF:
Ce fichier XML ne semble pas avoir d'information de style associé avec lui. L'arbre du document est montré ci-dessous.
attribut="gérer"
<balise>désespoir</balise>
<texte><html><body><p>déterminer</p></body></html></texte>


IE:
<?xml version="1.0" encoding="UTF-8" ?>
attribut="gérer"
<balise><![CDATA[ désespoir ]]></balise>
<texte><html><body><p>déterminer</p></body></html></texte>


Je sauvegarde sur le disque, j'ouvre avec Scite (détection: 8bits)
<?xml version="1.0" encoding="UTF-8"?>
attribut="gérer"
<balise><![CDATA[désespoir ]]></balise>
<texte><html><body><p>déterminer</p></body></html></texte>

(ça se corse pour 2 d'entre eux, peu importe c'est 8 bits après tout)

Je passe en UTF-8 ou bien je rajoute le <!-- coding: UTF-8 --> (enfin ce que j'ai lu ici: http://tw.apinc.org/weblog/2005/03/20/scite-et-utf-8 sinon c'est sur un sujet en fin de page ici ou début de page 2)
<?xml version="1.0" encoding="UTF-8"?>
attribut="gérer"
<balise><![CDATA[désespoir ]]>
<texte><![CDATA[<html><body><p>déterminer</p></body></html>]]></texte>


Mais toujours pas de "gérer" ni de "déterminer" Smiley fache
Ce fichier est affiché en très mauvais HTML par un programme boîte noire auquel je n'ai pas accès donc il y a un moyen d'afficher correctement Smiley cligne mais moi j'y arrive pas (transformation XSL&cie). Auriez-vous une solution à me proposer?
Bonjour,
essaie voir juste pour essayer, de le passer à la moulinette du utf8_decode (ou encode) du php pour voir ce que ça donne...
Administrateur
Très bonne idée en effet, j'ai (presque) résolu le problème grâce à ça.

Je dis (presque) parce que ce qui était déjà bien encodé ne l'est plus Smiley ravi . Je maudis le programmeur qui a mélangé différents encodages au sein d'un même fichier XML avec des sections CDATA ...

Enfin ça me permettra de faire joujou avec les entrées multiples en XSLT ou bien avec les fonctions XSLT de PHP, au choix (plutôt le 1er choix je pense).

Merci! Smiley smile
Si une partie était bien encodée et une autre non, il faudrait presque pouvoir s'amuser manuellement...

$str = str_replace("é", "é", $str);
etc......

Mais bon, pas facile de savoir quel code erronné correspond à quel accent... enfin si, il faut encoder une page en utf8 et l'afficher en iso.
Excellent ! j'avais exactement le même problème, j'aurais jamais trouvé toute seule ! Je comprenais pas pourquoi mon fichier XML passait pas et je commencais à chercher du côté du serveur ! ouf ! merci pour vos réponses Smiley smile
Finalement qu'est-ce que ça veut dire lorsque notre xml n'a pas de style ?

Le même message s'affiche pour moi.

Merci.
Modifié par Vincent Blouin (17 Sep 2006 - 05:57)
Bonsoir,

Je cherchais à ouvrir un fichier en UTF-8 automatiquement avec SciTe (c'est un fichier texte quelconque sans extension).
L'astuce du lien (http://tw.apinc.org/weblog/2005/03/20/scite-et-utf-8) a fonctionné pour moi : en ajoutant coding: utf-8 à la deuxième ligne, SciTe place automatiquement l'encodage sur UTF-8 Cookie.

Système d'exploitation : Linux
Distribution : Mandriva
Logiciel concerné : SciTe (http://www.scintilla.org)

a+ =)
-=Finiderire=-