XML技術手冊login
XML技術手冊
作者:php.cn  更新時間:2022-04-14 15:57:53

XML 編碼



XML 文件可以包含非 ASCII 字符,例如挪威語 æ ø å,或法語 ê è é。

為了避免錯誤,需要規定 XML 編碼,或將 XML 檔案儲存為 Unicode。


XML 編碼錯誤

如果您載入一個XML 文檔,您可以得到兩個不同的錯誤,表示編碼問題:

在文本內容中發現無效字元。

如果您的 XML 中包含非 ASCII 字符,且檔案儲存為沒有指定編碼的單字節 ANSI(或 ASCII),您會得到一個錯誤。

單字節編碼屬性的 XML 檔案。

相同的單字節沒有編碼屬性的 XML 檔案。

將目前編碼切換為不支援的指定編碼

如果您的XML 檔案儲存為帶有指定的單字節編碼(WINDOWS-1252、ISO -8859-1、UTF-8)的雙位元組Unicode(或UTF-16),您會得到一個錯誤。

如果您的 XML 檔案儲存為帶有指定的雙位元組編碼(UTF-16)的單字節 ANSI(或 ASCII),您也會得到一個錯誤。

雙位元組沒有編碼的 XML 檔案。

相同的雙位元組具有單字節編碼的 XML 檔案。


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>Norwegian: æøå. French: êèé</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"?>

請嘗試:

#有正確編碼的保存

帶有錯誤編碼的保存



結論

  • #總是使用編碼屬性

  • #使用支援編碼的編輯器

  • 確保您知道編輯器使用什麼編碼

  • 在您的編碼屬性中使用相同的編碼

PHP中文網