Erreur d'analyseur XML: entité non définie

J'ai cherché sur stackoverflow sur ce problème et le fait de trouver quelques sujets, mais je me sens comme il n'est pas vraiment une réponse solide pour moi sur cette.

J'ai un formulaire soumis par des utilisateurs et la valeur du champ est stocké dans un fichier XML. Le XML est défini pour être encodés en UTF-8.

Chaque maintenant et puis un utilisateur de copier/coller du texte à partir de quelque part et c'est quand je reçois la "entité non défini erreur".

Je me rends compte XML ne prend en charge que quelques entités et rien au-delà qui n'est pas reconnu - d'où l'erreur de l'analyseur.

De ce que je comprends, il y a quelques options que j'ai vu:

  1. Je peux trouver et remplacer tous les   et les échanger avec   ou un espace réel.
  2. Je peux placer le code en question dans une section CDATA.
  3. Je peux inclure ces entités dans le fichier XML.

Ce que je suis en train de faire avec le fichier XML est que l'utilisateur peut entrer des données dans un formulaire, il est stocké dans un fichier XML, et que le contenu puis il est affiché comme XHTML sur une page Web (analysé avec SimpleXML).

Des trois options, ou toute autre option(s) je ne suis pas au courant, ce qui est vraiment la meilleure façon de traiter avec ces entités?

Grâce,
Ryan

Mise à JOUR

Je tiens à remercier tout le monde pour le grand retour. J'ai fait déterminé quelle est la cause de mon entité erreurs. Toutes les suggestions qui m'a fait regarder de plus près!

Certaines zones de texte où plain old zones de texte, mais mon textareas ont été améliorés, avec TinyMCE. Il s'avère, tout en prenant un coup d'œil, que le PHP mises en garde toujours fait référence à des données à partir de la TinyMCE amélioré textareas. Plus tard, j'ai remarqué sur un PC que tous les personnages ont été repris (parce qu'il ne pouvait pas les lire), mais sur un MAC, vous pouvait voir de petites boîtes carrées référençant le numéro unicode du caractère. La raison pour laquelle il a montré dans les carrés sur un MAC, en premier lieu, c'est parce que j'ai utilisé utf8_encode pour coder les données n'était pas en UTF pour éviter d'autres erreurs d'analyse (qui est également, en quelque sorte liés à la TinyMCE).

La solution à tout cela, c'est assez simple:

J'ai ajouté cette ligne entity_encoding : "utf-8" dans mon tinyMCE.init. Maintenant, tous les personnages pour montrer la façon dont ils sont censés.

Je suppose que la seule chose que je ne comprends pas, c'est pourquoi les personnages encore lorsqu'ils sont placés dans des zones de texte, parce que rien ne les convertit en UTF, mais avec TinyMCE, c'était un problème.

  • Certaines parties de votre question sont invisibles parce qu'ils ont été analysées comme des éléments xml. Veuillez entourer ces bits avec backquotes (`).
  • Hm, je ne vois rien dans la question de la source qui aurait besoin de cela.
  • Je peux rechercher et remplacer tous ?? et les échanger avec ?? ou un espace réel." Certain me semble que quelque chose est manquante.
  • Oh, vous avez raison. Je n'ai pas remarqué ces. Seulement un peu plus de rep aller pour vous et vous pouvez modifier vous-même aux questions. 🙂
  • +1 utile.
InformationsquelleAutor NightHawk | 2010-09-27