MSXML DOM 對象裝載 XML 文檔的兩個主要方法是 loadXML 和 load
loadXML 方法總是帶一個僅以 UCS-2 或者 UTF-16 編碼的 Unicode BSTR 參數,如果傳遞的不是有效的 Unicode BSTR,那么裝載就會失敗。
load 方法以一下的順序來確定 XML 文檔的字符編碼
1. 如果 Content-Type HTTP 頭部定義了字符集,那么定義的字符集就覆蓋 XML 文檔本身的任何字符集。
2. 如果存在 2 字節的 Unicode 字節順序標記,那么 load 方法就假定編碼為 UTF-16,它即可以處理 big-endian,也可以處理 little-endian。
3. 如果存在 4 字節的 Unicode 字節順序定義標記 (0xFF 0xFF 0xFF 0xFE ),那么 load 方法就假定編碼為 utf-32.
4. 否則,load 方法假定編碼為 utf-8,除非它找到帶有制定了其他字符集的編碼屬性的 XML 聲明。
來源:國際化軟件開發(源書第二版) 機械工業出版社