XML エンコーディング
XML文書には、ノルウェー語の æ ø å やフランス語の ê è é などの非ASCII文字を含めることができます。
エラーを回避するには、XMLエンコーディングを指定するか、XMLファイルをUnicodeとして保存する必要があります。
XMLエンコーディングエラー
XML文書を読み込むと、エンコーディングの問題を示す2つの異なるエラーが発生する可能性があります。
テキストコンテンツに無効な文字が見つかりました。
XMLに非ASCII文字が含まれていて、ファイルがエンコーディングを指定しないシングルバイトANSI(またはASCII)として保存されている場合、エラーが発生します。
。
。
現在のエンコーディングをサポートされていない指定エンコーディングに切り替えます
XMLファイルが、指定されたシングルバイトエンコーディング(WINDOWS-1252、ISO-8859-1、UTF-8)を持つダブルバイトUnicode(またはUTF-16)として保存されている場合、エラーが発生します。
XMLファイルが、指定されたダブルバイトエンコーディング(UTF-16)を持つシングルバイトANSI(またはASCII)として保存されている場合も、エラーが発生します。
。
。
Windowsメモ帳
Windowsメモ帳はデフォルトでファイルをシングルバイトのANSI(ASCII)として保存します。
「名前を付けて保存...」を選択すると、ANSI、UTF-8、Unicode(UTF-16)、またはUnicode Bigを指定できます。
次のXMLをANSI、UTF-8、Unicodeとして保存します(ドキュメントにはエンコーディング属性が含まれていないことに注意してください)。
<note>
<from>Jani</from>
<to>Tove</to>
<message>Norwegian: æøå. French: êèé</message>
</note>
ファイルをブラウザにドラッグして結果を確認してください。ブラウザによって表示結果が異なります。
異なるエンコーディングの体験:
<?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"?>
お試しください:
結論
- 常にエンコーディング属性を使用する
- エンコーディングをサポートするエディタを使用する
- エディタが使用するエンコーディングを把握してください
- エンコーディング属性に同じエンコーディングを使用する