У меня странная проблема, когда я пытаюсь создать XML-файл с PHP. Проблемы состоят в том, что в конце исходного кода появляется странный знак вопроса. И я получаю сообщение об ошибке: «Дополнительный контент в конце документа»
Я запускаю этот скрипт:
<?php header("Content-Type: application/xml"); echo "<?xml version=\"1.0\"?>"; ?> <Module> <ModulePrefs title="Ngram Extractor" author="interedition team" description="Ngram Extractor" scrolling="true"/> <Content type="html"> Test </Content> </Module>
Когда я открываю это браузер, я получаю ошибку состояния, и исходный код выглядит так. Обратите внимание на странный знак вопроса в конце.
<?xml version="1.0"?> <Module> <ModulePrefs title="Ngram Extractor" author="interedition team" description="Ngram Extractor" scrolling="true"/> <Content type="html"> Test </Content> </Module>?
Пожалуйста помоги.
У вас есть символ пробела нулевой ширины в конце вашего файла – код UTF-8 E2 80 8B. Он размещается сразу после </Module>
. Посмотрите на свой файл в шестнадцатеричном режиме. Этот дополнительный символ запрещает вашему браузеру распознавать это как действительный XML и – в зависимости от используемого браузера – отображается как вопросительный знак или вообще не отображается.
Удалите этот дополнительный символ, и все будет в порядке.
Возможно, вы используете UTF-8 с кодировкой BOM. Проверь это
У меня нет ответа, согласитесь, что мой редактор не показывал вопросительный знак. Но я открыл файл в блокноте2, вот и вот, вопросительный знак был там. Очень странно. Спасибо за вашу помощь.