也许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