Я искал stackoverflow по этой проблеме и нашел несколько тем, но я чувствую, что на самом деле нет надежного ответа на меня.Ошибка XML-парсера: объект не определен
У меня есть форма, которую пользователи представляют, а значение поля хранится в файле XML. XML настроен на кодирование с помощью UTF-8.
Время от времени пользователь будет копировать/вставлять текст откуда-то, и тогда я получаю «сущность, не определенную ошибку».
Я понимаю, что XML поддерживает только несколько сущностей, и все, что за ним не распознается, - следовательно, ошибка парсера.
Из того, что я понимаю, что есть несколько вариантов, которые я видел:
- я могу найти и заменить все
и поменять их местами с 
или фактическим местом. - Я могу разместить код в разделе CDATA.
- Я могу включить эти объекты в XML-файл.
Что я делаю с XML-файлом, так это то, что пользователь может вводить содержимое в форму, он хранится в XML-файле, и этот контент затем отображается как XHTML на веб-странице (анализируется SimpleXML).
Из трех вариантов или любых других вариантов (-ов), о которых я не знаю, что является лучшим способом справиться с этими сущностями?
Спасибо, Райан
UPDATE
Я хочу поблагодарить всех за большую обратную связь. Я фактически определил, что вызвало ошибки моего объекта. Все предложения заставили меня глубже изучить это!
Некоторые текстовые поля, в которых простые текстовые поля, но мои текстовые поля были расширены с помощью TinyMCE. Оказывается, при внимательном рассмотрении, что предупреждения PHP всегда ссылаются на данные из расширенных текстовых областей TinyMCE. Позже я заметил на ПК, что все персонажи были вывезены (потому что они не могли их прочитать), но на MAC вы могли видеть квадраты квадратов, ссылающиеся на номер юникода этого символа. Причина, по которой он проявился в квадратах на MAC, заключается в том, что я использовал utf8_encode для кодирования данных, которые не были в UTF, чтобы предотвратить другие ошибки синтаксического анализа (что также связано с TinyMCE).
Решение все это было довольно просто:
Я добавил эту линию entity_encoding : "utf-8"
в моей tinyMCE.init. Теперь все персонажи появляются так, как они предполагают.
Я думаю, что единственное, что я не понимаю, - это то, почему персонажи все еще появляются, когда помещаются в текстовые поля, потому что ничто не преобразует их в UTF, но с TinyMCE это была проблема.
Некоторые важные части вашего вопроса невидимы, потому что они получили разобран как разметка. Пожалуйста, объедините эти биты с backquotes (''). – LarsH
@LarsH: Хм, я ничего не вижу в источнике вопроса, который бы нуждался в этом. – Tomalak
@Tomalak: «1. Я могу найти и заменить все * ?? * и поменять их на * ?? * или фактическое пространство». Конечно, мне кажется, что там что-то не хватает. – LarsH