Erreur UTF8_deocde

Lerdouille -  
boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   80
 
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