ホームページ >バックエンド開発 >XML/RSS チュートリアル >XML ガイド - XML コーディング
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) をご覧ください。