Хорошо, я надеюсь, что кто-то может помочь, потому что я не смог найти решение для этого.
В базе данных клиентам удалось импортировать или иным образом добавить данные символов из другого набора символов, например:
<E2><80><99>
Я считаю, что это UTF-16.
Вывод XML моего скрипта вызывает ошибки из-за этих данных (которые извлекают строки, такие как поле «описание», из базы данных и создают файл XML).
Ошибка синтаксического анализа XML: неверный формат строки номер 20, столбец 50.
Есть и другой шестнадцатеричный код, который длиннее, например ‹80>‹99> (просто пример, я не уверен, что это реальный символ).
Как я могу сделать свой файл XML действительным и либо уменьшить набор символов, либо заставить его использовать UTF-32 следующим образом:
AddType "application/xml; charset=UTF-32" xml (in .htaccess file along with filesmatch .xml)
<?xml version='1.0' encoding='UTF-32' ?> (placed in head of xml file)
0xe2 0x80 0x99
- это UTF-8 для «ПРАВИЛЬНОЙ ОДИНОЧНОЙ КАВАТЫ» (U + 2019), я думаю, что ваша проблема заключается в другом. Не могли бы вы показать нам первые несколько строк xml? - person Anders Lindahl   schedule 02.05.2012