PHP - парсинг xml с акцентами - PullRequest
       3

PHP - парсинг xml с акцентами

0 голосов
/ 07 декабря 2011

Я пытаюсь проанализировать XML-файл, который содержит акценты, но я получаю эту ошибку «Строка не может быть проанализирована как XML». К сожалению, я не могу работать с XML-файлом, так как он загружен из внешнего источника, поэтому мне было интересно, есть ли какой-нибудь простой способ его исправить.

Вот мой код:

<?php
$requestAddress = "test.xml";

// Gets data
$xml_str = file_get_contents($requestAddress,0);

// Parses XML
$xml = new SimplexmlElement($xml_str);
?>

Я огляделся по сторонам, но не вижу решения проблемы или, по крайней мере, не понимаю их! : -)

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Я предполагаю, что file_get_contents() не учитывает кодировку файла.Ваши акценты могут рассматриваться как недопустимые символы и нарушать структуру XML.

Использовать mb_detect_encoding() для обнаружения кодировки.

Использовать utf8_encode() чтобы конвертировать ваших персонажей в UTF-8.

0 голосов
/ 07 декабря 2011

Убедитесь, что кодировка соответствует заголовку документа (обычно utf-8).

Если кодировка (кодировка) не совпадает, вы можете загрузить файл как общий текстовый файл, а затем преобразовать кодировку символов с помощью функции iconv () в правильную.

...