Aide - Recherche - Membres - Calendrier
Version complète : xml et accentuation
Forum Développeur - Administration serveur, programmation et base de données > Programmation > XML et XSL
mikado
Bonjours a tous, Voila je traite le contenu d'un fichier XML générer par une application situé sur un serveur, mais le soucis c'est que le ficheir xml comporte des accent. exemple :
CODE
<?xml version='1.0' encoding='ISO-8859-1' ?> <joblog> <directory_name>Répertoire \Cognos\ </directory_name> ...
voila j'ai déja changé l'encodage de départ, mais ceci ne change rien. J'utilise la librairie DOMXML de php4 Si quelqun connait la solution merci [/code]
Antoine
Il faut utiliser les sections <[CDATA[ ]]> :wink:
mikado
ok merci je regarde ca :wink:
Antoine
ca donne ça en fait :

CODE
<directory_name><[CDATA[Répertoire \Cognos\]]></directory_name>
mikado
Ok j'ai vu de quoi ca parlai, mais ca ne correspond pas à se que je cherche, si toutes foi se que je cherche existe.
je ne veux pas modifier el fichier XML, il fait environ 8Mo donc vous voyé le temps qu'il faudrait a un scripte de tout analyser et tout modifier, le but premier n'est pas mais s'il n'y a pas d'autre solution je risque d'etre obligé de faire comme ca :cry:

Merci à vous
mikado
c'est carrément ingérable comme script, enfin avec un peu de volonté et du temps on peut acomplir de grande chose laugh.gif
qwix
Sinon tu peux utiliser des entités, comme ça tu encode tes accents comme si c'était du HTML, mais avant il te faut créer une entité pour chaque accent, cherche sur le net, ça doit se trouver wink.gif

smile.gif
mikado
ok merci je vai regarder ca smile.gif
jep
Franchement, j'ai pas compris la question ! En quoi c'est un problème d'avoir des accens ? :? :?:
Antoine
Ca passe sans doute pas en ISO... Peut-être en UTF-8
mikado
oui a la base c'est en UTF-16 mais si je laisse comme ca et bien je peu plus ouvrir mon ficheir XML avec la librairie DOMXML

CODE


$bufferXML = file_get_contents($cheminXml, DOMXML_LOAD_DONT_KEEP_BLANKS);

$this->documentXML = domxml_open_mem($bufferXML);


Ya peut etre une erreur ici dans se cas mais j'ai rien trouvé de plus sur le net et pourtant j'ai cherché (mal peut etre sad.gif )

Voili Voila si quelqun a une solution ceci me rendrai un grand service, en plus si on peu laissé en UTF-16 ca serai le pied laugh.gif

Merci a vous
jep
La librairie DOMXML supporte parfaitement l'encodage UTF-[b]8 (qui est l'encodage par defaut recommender pour le format XML)
Ça ne devrait pas être trop problématique de passer de l'UTF-16 à l'UTF-8 (un editeur de texte aussi con que notepad peut le faire)
:wink:

Maintenant, si tu veux convertir ton document à la volé dans PHP, il faut que tu t'interresse au librairies ICONV et/ou MBSTRING

> http://php.net/iconv
> http://php.net/mbstring
hcode
Salut à tous, petit problème de caractères "spéciaux".

J'ai une galerie de photos en Flash, dont l'arborescence se compose de la manière suivante :

../Photos/Plusieurs dossiers renfermant les différentes galeries/chaque dossier est subdivisé en /IMG et /MINI.

J'ai un système PHP qui génère un XML (données brutes, pas d'encodage) contenant la liste des dossiers situés dans /Photos... Tout ça fonctionne main dans la main avec Flash, c'est le bonheur !

Mais les noms des dossiers sont assez descriptifs, et je risque de me retrouver avec des noms contenant des apostrophes dans certains cas... Passe en HTML, mais dans un XML, ça fout le souk... icon_neutral.gif

Je m'en remets à vous, pour savoir si je dois plutôt :

- me débrouiller pour avoir 2 attributs (un avec le nom "réel", l'autre correspondant à une version encodée)
- encoder tout, genre "htmlentities" (je sens la bonne réponse dans cette voie)
- mettre des noms de dossiers conventionnels (de type [a-z][0-9]), et ajouter un petit fichier qui contiendrai le nom "littéral", dans chaque dossier.

Merci à tous.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.