2010-01-11 7 views
4

s'il vous plaît eacute me aider here.I eu cette erreurphp erreur xml

<Name>secret CAKES &amp; CAF&Eacute; 
imited</Name> 
XML Parsing Error: undefined entity 
Location: http://localhost/xml.php 

dans mon php

htmlentities($row['companys'],ENT_QUOTES) 

Répondre

2

& Eacute; est une entité html, pas un XML, donc vous ne pouvez utiliser que des documents html ou xhtml, pas des documents xml.

Il n'y a que 5 entités définies pour xml

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

Vous devez laisser toutes les autres entités comme des caractères unicode dans votre document xml alors si vous avez besoin de les convertir en entités html, faites-le lorsque vous affichez les données de votre fichier XML plutôt que lorsque vous créez votre document xml (c'est-à-dire que e est converti après l'analyse du fichier xml)

Vous pouvez également définir les entités html supplémentaires dans votre document XML. Ce commentaire sur la page php HtmlEntities utilise cette méthode

http://www.php.net/manual/en/function.htmlentities.php#84327

4

Votre fichier XML est invalide, comme &Eacute; est pas une entité de caractère par défaut des documents XML.

Vous devez le remplacer par &#201; ou le coder correctement.

+0

É donne un point d'interrogation – Ayrad

+0

@Ayrad, vous utilisez probablement un jeu de caractères de la page disponible dans votre machine; Essayez ISO-8859-1 et/ou jetez un oeil à cette référence d'entité HTML: http://www.w3schools.com/tags/ref_entities.asp –

+0

@RubensFarias, votre lien ne fonctionne plus – patrick

8

&Eacute; est une entité HTML valide, mais pas une entité XML valide (à moins que vous ne la définissiez).

Utilisez plutôt htmlspecialchars.

Assurez-vous que votre document XML définit également le jeu de caractères correct.

0

htmlspecialchars($row['companys'],ENT_QUOTES)

+1

Bienvenue à SO :) Au fait, si une réponse est bonne pour vous, vous devriez "vérifier" et en faire la réponse acceptée au lieu d'ajouter une autre réponse pour répondre. StackOverflow n'est pas comme un forum. Merci. –