也許IE11具有類似於火狐在過去的一個問題:
https://bugzilla.mozilla.org/show_bug.cgi?id=431701
這意味着,雖然你的頁面加載正確的編碼,IE11是創建一個帶有默認編碼新的文件不是預期的。除了查看我們沒有的IE11源代碼之外,沒有辦法檢查它。
您是否嘗試在元素名稱之外的其他位置添加非ASCII字符?像屬性值或文本節點一樣?
我搜索瞭如何更改創建的文檔編碼,並沒有找到任何解決方案。
解決你的問題,我建議使用的DOMParser和生成從XML字符串的文件,如下所示:
var parser=new DOMParser();
var xmlDoc=parser.parseFromString('<?xml version="1.0" encoding="UTF-8"?><Выборка>Выборка текста</Выборка>',"text/xml");
所有瀏覽器似乎支持它的XML解析。更多的DOMParser以下鏈接,包括如何提供對舊的IE版本的向後兼容性:
http://www.w3schools.com/dom/dom_parser.asp
https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
如果你不想僅僅通過連接字符串來生成XML,你可以在這個例子中使用某種類型的XML構建的,如:http://jsfiddle.net/UGYWx/6/
然後你就可以很容易地在一個更安全的方式創建XML:
var builder = new XMLBuilder("rootElement");
builder.text('Some text');
var element = builder.element("someElement", {'attr':'value'});
element.text("This is a text.");
builder.text('Some more Text');
builder.element("emptyElement");
builder.text('Even some more text');
builder.element("emptyWithAttributes", {'a1': 'val1', 'a2' : 'val2'});
$('div').text(builder.toString());
檢查您的HTML文檔是否包含提示UTF-8的''元素,還檢查HTTP響應標頭,以及您是否指定'doctype'。 – vbence
確保您的源文件本身真正以UTF-8編碼。 – 2013-12-18 16:31:31
我的來源是UTF-8。指定了Doctype。 – Olegas