Erreur UTF8_deocde

Fermé
Lerdouille - 29 août 2011 à 18:34
boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 - 30 août 2011 à 10:34
Bonjour,


en PHP, j'essaye de parser un flux xml comme ceci :

$OBJXML = simplexml_load_string("<DATA><MESSAGE><![CDATA[On va checker. Va à cette adresse :http://test/vt.php?c=dfsd&v=125c4]]></MESSAGE></DATA>");

Le problème, c'est que lorsque j'essaye de faire un :

$OBJXML->MESSAGE = utf8_decode($OBJXML->MESSAGE);

ma variable MESSAGE est bien encodé avec les bon caractères avec accents, sauf que l'URL du message est tronqué apres le "&", elle devient :

http://test/vt.php?c=dfsd

au lieu de

http://test/vt.php?c=dfsd&v=125c4

Quelqu'un a t'il eu deja ce problème ou une solution ?

Cdt.

1 réponse

boly38 Messages postés 267 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
Modifié par boly38 le 30/08/2011 à 10:35
le caractère "&" en XML sert à faire référence à des entités.

dans du XML tout comme dans votre exemple; il devrait apparaître comme ceci : & => &#38;
ce qui donne
<DATA><MESSAGE><![CDATA[On va checker. Va à cette adresse :http://test/vt.php?c=dfsd&#38;v=125c4]]></MESSAGE></DATA>   


mais bon, j'ai un doute, je trouve quand même bizarre de devoir faire cette manipulation pour des données CDATA (censées être brutes...)
0