Проблема с кодировкой в ​​Chrome, а не в IE - PullRequest
0 голосов
/ 02 ноября 2010

При создании XDocument я получаю исключение XmlException со следующим сообщением:

system does not support 'iso-8859-1' encoding line 1, position 31

Первая строка документа Xml выглядит следующим образом:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>

Вот код Iиспользовать для создания документа:

 xDoc = XDocument.Load(webResponse.GetResponseStream());

Странно то, что исключение происходит в Chrome и Firefox, но не в IE8.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

Я наблюдаю аналогичное поведение при загрузке XML-документа, созданного веб-службой .NET для OData (обслуживается локально IIS 7).Он обнаруживается с различными типами контента на основе браузера.Заголовок типа содержимого, а также первая строка XML-файла изменяются.Установка точки останова и проверка объекта «HttpWebResponse» или использование Fiddler показывает:

content-type: "application/xml;charset=utf-8"         (IE)
content-type: "application/xml;charset=iso-8859-1"    (Chrome)

Сравнение в первой строке xml

<?xml version="1.0" encoding="utf-8" standalone="yes"?>      (IE)
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> (Chrome)

Это приводит к стандартному XDocument.Load(webResponse_stream) завершиться ошибкой в ​​Chrome.

0 голосов
/ 02 ноября 2010

Многие браузеры не поддерживают эту кодировку.По сути, вы можете установить шрифт для любого языка, который вы пытаетесь отобразить (я полагаю, именно поэтому вы используете эту кодировку).Затем вы можете встроить этот шрифт для использования на любом локальном компьютере.

  • code.google.com / p / chromium / questions / detail? Id = 31510
  • bugs.webkit.org / show_bug.cgi? id = 22339
...