Кодировка из xml в / из php? - PullRequest
       8

Кодировка из xml в / из php?

0 голосов
/ 14 февраля 2012

Итак, xml имеет: <?xml version="1.0" encoding="ISO-8859-15"?> и я должен загрузить некоторые значения узлов и сохранить их. Какие кодировки я должен использовать? В данный момент я использую utf8_encode (), что немного глупо, но работает при сохранении, но когда мне нужно снова загрузить значение, оно имеет символы «ÅÄÖ», оно показывает как «Ã„ äliä ».

Что я могу использовать для кодирования строки для сохранения и загрузки в / из XML на php? Дело здесь в скандинавских иероглифах ..

edit: извините, я забыл поместить тег xml в {} ...

edit: В настоящее время я использую DOM Xpath для чтения и изменения XML-файла.

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Вы не должны использовать какие-либо кодировки вообще.

Внутренняя кодировка документов XML - utf-8.
Таким образом, пока вы используете какой-то определенный синтаксический анализатор, например simplexml, он будет перекодировать документ в utf-8, и вы всегда будете иметь вывод utf-8.

остальное зависит от того, что вы хотите сделать с этими данными и в какой кодировке находится ваша страница.

0 голосов
/ 14 февраля 2012

Используйте XMLReader и XMLWriter классы, определяя кодировки ввода и вывода при открытии файла.В вашем случае, чтобы прочитать документ:

$xmlReader = new XMLReader();
$xmlReader->open('test.xml', 'ISO-8859-15');

Значения затем автоматически преобразуются в UTF-8 при извлечении их из документа.

Помните, что XMLWriter ожидает ввода UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...