Кодировка XML Encoding


XML-документы могут содержать символы, не входящие в ASCII, например норвежские æ ø å или французские ê è é.

Чтобы избежать ошибок, необходимо указать кодировку XML или сохранить XML-файл в Unicode.


Ошибки кодировки XML

Если вы загружаете XML-документ, можно получить две разные ошибки, указывающие на проблемы с кодировкой:

Обнаружен недопустимый символ в текстовом содержимом.

Если ваш XML содержит символы, не входящие в ASCII, а файл сохранён в однобайтовой кодировке ANSI (или ASCII) без указания кодировки, вы получите ошибку.

。

。

Переключение текущей кодировки на указанную кодировку, которая не поддерживается.

Если ваш XML-файл сохранён как двухбайтовый Unicode (или UTF-16) с указанной однобайтовой кодировкой (WINDOWS-1252, ISO-8859-1, UTF-8), вы получите ошибку.

Если ваш XML-файл сохранён как однобайтовый ANSI (или ASCII) с указанной двухбайтовой кодировкой (UTF-16), вы также получите ошибку.

。

。


Блокнот Windows

Блокнот Windows по умолчанию сохраняет файлы как однобайтовый ANSI (ASCII).

Если выбрать «Сохранить как...», можно указать ANSI, UTF-8, Unicode (UTF-16) или Unicode Big.

Сохраните следующий XML в кодировках ANSI, UTF-8 и Unicode (обратите внимание, что документ не содержит атрибута кодировки).

<?xml version="1.0"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Норвежский: æøå. Французский: êèé</message>
</note>

Попробуйте перетащить файл в браузер и посмотреть результат. Разные браузеры будут отображать разные результаты.

Эксперименты с разными кодировками:

<?xml version="1.0" encoding="us-ascii"?>
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>

Пожалуйста, попробуйте:



Заключение

  • Всегда используйте атрибут encoding
  • Используйте редактор, который поддерживает кодировку
  • Убедитесь, что вы знаете, какую кодировку использует ваш редактор
  • Используйте ту же кодировку в атрибуте encoding
Другие расширения