首頁 > 開發 > Xml > 正文

XML 編碼

2021-12-25 16:50:07
字體:
來源:轉載
供稿:網友

XML 文檔可以包含非 ASCII 字符,比如法語。

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

Windows 記事本

Windows 記事本默認會將文件保存為單字節的 ANSI (ASCII)。

如果選取文件菜單中的“另存為”命令,就可以規定雙字節 Unicode (UTF-16)。

將下面的 XML 文件保存為 Unicode (注意文檔不包含任何 encoding 屬性):

<?xml version="1.0"?>  John  George  French: êèé

上面的文件,note_encode_none_u.xml 不會出錯。但是如果規定了單字節編碼就會出錯。

下面的編碼(打開它),不會報錯:

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

錯誤消息

如果您試圖向 IE 中載入 XML 文檔,可能會得到兩種指示編碼問題的錯誤:

在文本內容中發現非法字符

如果 XML 文檔中的某個字符與編碼屬性不匹配,您就會得到這個錯誤消息。通常,當 XML 文件中含有外國字符,且當文件使用類似記事本的單字節編碼編輯器保存,以及沒有指定編碼屬性時,您就會得到這個錯誤消息。

將當前編碼切換為不被支持的指定編碼

如果您的文件被保存為 Unicode/UTF-16,但是編碼屬性被指定為單字節編碼(比如 Windows-1252、ISO-8859-1 或者 UTF-8)時,那么您就會得到這個錯誤消息?;蛘弋斈奈臋n被保存為單字節編碼,但編碼屬性被指定為雙字節編碼(比如 UTF-16)時,也會得到這個錯誤消息。

結論

結論是:編碼屬性應當被指定為文檔被保存時所使用的編碼。我最好的避免錯誤的建議是:

  • 使用支持編碼的編輯器
  • 確定編輯器使用的編碼
  • 在您的 XML 文檔中使用相同的編碼屬性
上一篇:讓Asp與XML交互

下一篇:服務器上的 XML

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
金玫玫床戏