Ответ 1
Возможно, у IE11 есть проблема, аналогичная тому, что имел в прошлом Firefox:
https://bugzilla.mozilla.org/show_bug.cgi?id=431701
Это означает, что, хотя ваша страница загружает правильную кодировку, IE11 создает новый документ с кодировкой по умолчанию, которая не является ожидаемой. Невозможно проверить, что, кроме поиска исходного кода IE11, которого у нас нет.
Вы пытаетесь добавить символы, отличные от ASCII, в других местах, кроме имен элементов? Как значение атрибута или текст node?
Я искал способ изменения созданной кодировки документа и не нашел для этого решения.
Чтобы решить вашу проблему, я бы предложил использовать 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());