Page 1 sur 1
é, è, ê dans CDATA
Posté : 11 nov. 2008, 01:10
par Jeremieca
Bonjour,
J'ai le code suivant :
<![CDATA['$texte']]>
Hé bien si $texte contient du PHP par exemple, pas de problème mais s'il contient un caractère accentué j'obtient une erreur :
Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Input is not proper UTF-8, indicate encoding ! Bytes: 0xE0 0x20 0x6C 0x61 in Entity
Merci d'avance,
JC. !!!
++
Posté : 11 nov. 2008, 16:19
par Victor BRITO
Comment le fichier XML est-il généré ? Est-ce que la génération du XML génère-t-elle des erreurs (le
validateur du W3C, soit dit en passant, permet aussi de vérifier qu'un document XML est bien formé) ? Le contenu du XML comporte-t-il des entités (comme ) ?
Normalement, un fichier codé comme suit :
Code : Tout sélectionner
<?xml version="1.0" encoding="utf-8"?>
<racine>
<element><![CDATA[ Un peu de texte accentué comportant des entités : en effet, ces entités peuvent poser problème ]]></element>
</racine>
devrait passer comme une lettre à la poste.

Posté : 11 nov. 2008, 16:30
par Jeremieca
Alors j'ai résolu mon problème mais je comprends pas pourquoi !
En effet, mon XML étant en UTF-8, j'avais également mis ma page d'ajout (admin) et la page d'affichage de mon texte en UTF-8 et la j'avais ce fameux problème de caractère !
Et depuis que j'ai tout mis en ISO sauf le XML ça marche !!!!!!
Pourquoi ?
Posté : 11 nov. 2008, 19:25
par Victor BRITO
As-tu vérifié que tes autres fichiers étaient édités en UTF-8 sans BOM ?
Posté : 11 nov. 2008, 20:03
par Jeremieca
ja vais peut-être te sembler pomer mais qu'est-ce que BOM ? !
Posté : 11 nov. 2008, 20:59
par sadeq
BOM = BYTE ORDER MARK. Pour plus d'infos, voir:
http://fr.wikipedia.org/wiki/Byte_Order_Mark