也许 IE11 有一个类似于 Firefox 过去的问题:
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());