У меня есть база данных ASP Access, которая содержит строки на разных европейских языках. База данных ранее заполнялась агентами в соответствующих странах. Он содержит записи с акцентированными и т. Д. Символами, как и следовало ожидать. Если я открою базу данных с помощью MS Access, эти символы появятся нормально. Например, немецкий эквивалент «Open» отображается как «Öffnen» (надеюсь, вы можете увидеть «O» с 2 точками над ним!).
У меня есть ASP-код, который читает базу данных и возвращает записи в формате XML. Текст передается в XMLEncode для создания XML, но кажется, что он имеет дело только с 5 специальными элементами, такими как «<», «&» и т. Д. Если я дам дамп XML, акцентированные символы не изменятся. </p>
<English>Open</English>
<German>Öffnen</German>
Если я посмотрю на необработанные пакеты с помощью Wireshark, то увижу, что байт "Ö" - это шестнадцатеричный D6, который представляется десятичным Unicode и значением ISO 8859-1.
Проблема начинается, когда я пытаюсь проанализировать XML в JS на стороне клиента. Я получаю:
"An invalid character was found in text content"
от IE. FF и Chrome с радостью принимают XML без проблем, но браузер показывает символ «…» в виде ромба с вопросительным знаком внутри.
http://www.validome.org/xml/validate/ сообщает об «ошибке кодирования».
http://www.w3schools.com/dom/dom_validate.asp считает, что все в порядке.
XML имеет кодировку UTF-8.
Что мне нужно сделать, чтобы IE принял мой XML без жалоб?
Что мне нужно сделать, чтобы браузеры правильно отображали материал?