XML ガイド - XML コーディング

黄舟
黄舟オリジナル
2017-02-11 15:14:051993ブラウズ


XML ドキュメントには、ノルウェー語やフランス語などの外国文字を含めることができます (もちろん中国語です! この部分はまだ原文に従って翻訳できません。以下の内容の一部は私が書いたものです)
パーサーがこれらの文字を理解できるようにするためXML ドキュメントにおける統一された文字エンコーディング標準。



Windows 95/98のメモ帳
Windows 95/98のメモ帳は、Unicodeエンコード形式でファイルを保存できません。
メモ帳を使用して、外国語 (ノルウェー語、フランス語、中国語など) を含む XML ドキュメントを編集および保存できます

<?xml version="1.0"?> 
<note> 
<from>小奀</from> 
<to>小林</to> 
<message>晚上一起去火锅呀</message> 
</note>


しかし、メモ帳で編集したこの XML ドキュメントをブラウザを使用して開くと、バグが表示されますIE5.0で開きます。



Windows 95/98 メモ帳でのエンコーディングの使用
Windows 95/98 メモ帳で XML ファイルを編集する場合は、エンコーディング属性を設定する必要があります。
エラーを回避するために、XML ドキュメント宣言にエンコーディング属性を追加して、この XML ドキュメントのエンコーディング タイプを示すことができますが、Unicode エンコーディングは使用しないでください。
次のエンコード タイプではエラーは発生せず、中国語の文字は正常に表示されます:

<?xml version="1.0" encoding="gb2312"?>




次のエンコード タイプではエラーは発生せず、中国語の文字は正常に表示されます:

<?xml version="1.0" encoding="gbk"?>




次のエンコードエラーが発生せず、中国語の文字が異常に表示される (文字化け):

<?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"?>


Windows 2000 メモ帳を使用します
Windows 2000 メモ帳はファイルを保存できますUnicode エンコード形式で。
Windows 2000 のメモ帳は Unicode 文字セットをサポートしています。 Win2000 メモ帳を使用して XML ドキュメントを Unicode エンコード形式で保存する場合 (XML 宣言にはエンコード情報がないことに注意してください):

<?xml version="1.0"?> 
<note><from>小奀</from><to>小林</to><message>晚上一起去火锅呀</message></note>


次のファイルは、IE5.0 以降では表示されません。エラーですが、Netscape 6.2 を使用している場合は問題が発生する可能性があります。読者は 2 つのファイル note_encode_none.xml と note_encode_none_u.xml を比較します。それぞれのソース ファイルを個別に見ると違いはありませんが、なぜ一方は表示でき、もう一方は表示できないのでしょうか。答えは Unicode 文字セットです。

Windows 2000 メモ帳のエンコーディング
Windows 2000 メモ帳は、ファイルを「UTF-16」エンコーディング形式で保存することもできます。
XML文書内でencoding属性を宣言し、Unicodeエンコード形式でファイルを保存するとエラーが発生する場合があります。
次のコードはエラーを引き起こします:

<?xml version="1.0" encoding="windows-1252"?>




次のコードはエラーを引き起こします:

<?xml version="1.0" encoding="ISO-8859-1"?>




次のコードはエラーを引き起こします:

<?xml version="1.0" encoding="UTF-8"?>




次のファイル; note_encode_utf16_u.xml は、IE5.0 以降では正常に表示されますが、Netscape 6.2 ブラウザではエラーが発生します。

<?xml version="1.0" encoding="UTF-16"?>



エラー メッセージ
IE5.0 以降で XML ドキュメントを参照すると、次の 2 つの異なるエンコード エラーが発生する可能性があります:
テキスト コンテンツに無効な文字が見つかりました。テキスト コンテンツ)。
XML ドキュメントが XML ドキュメントのエンコード形式と一致しない場合、エラーが発生する可能性があります。通常、XML 文書には「英語以外」の文字が含まれており、シングルバイトのエンコード エディタが使用され、XML 文書の宣言では XML 文書のエンコード形式が設定されていません。

現在のエンコーディングから指定されたエンコーディングへの切り替えはサポートされていません。
XML ドキュメントが Unicode/UTF-16 エンコード形式で保存されているが、XML ドキュメントの宣言でエンコード形式がシングルバイト エンコード (Windows-1252、ISO-8859-1、UTF-8 など) に設定されている場合); または XML ドキュメントがシングルバイトのエンコード形式で保存されているが、XML ドキュメントの宣言でエンコード形式が Unicode/UTF-16 エンコード形式に設定されている場合、どちらの状況でもエラーが発生します。

結論
結論: XML ドキュメントを保存する前に、その宣言でドキュメントのエンコーディング形式を設定します。
Unicode エンコーディング形式をサポートするエディタを使用します。
使用しているエンコーディングを必ず確認してください。
属性宣言を使用して、XML ドキュメントのエンコード形式を設定します。

上記は XML ガイドです。XML エンコーディングの内容については、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。