я возился с кодировками.
С одной стороны, у меня есть URL, который отвечает мне в UTF-8 (я уверен, благодаря плагину firebug).
Я открываю URL, читая содержимое в UTF-8, используя следующий код:
StreamReader reader = new StreamReader(response.GetResponseStream(),System.Text.Encoding.UTF8);
С другой стороны, у меня есть лист преобразования xslt со следующим кодом:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<br/>
hello
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Этот лист xslt также сохраняется в формате UTF-8.
Я использую следующий код для смешивания xml с xslt:
StringWriter writer = new StringWriter();
XslCompiledTransform transformer = new XslCompiledTransform();
transformer.Load(HttpContext.Current.Server.MapPath("xslt\\xsltsheet.xslt");
XmlWriterSettings xmlsettings = new XmlWriterSettings();
xmlsettings.Encoding = System.Text.Encoding.UTF8;
transformer.Transform(xmlreader, null, writer);
return writer;
Затем, в конце концов, я отображаю в веб-браузере содержимое этого автора и получаю следующую ошибку:
Страница XML не может быть отображена
Невозможно просмотреть ввод XML, используя стиль
простынь. Пожалуйста, исправьте ошибку и
затем нажмите кнопку Обновить или попробуйте
еще раз позже.
Переключиться с текущей кодировки на
указанная кодировка не поддерживается.
Ошибка обработки ресурса
«http://localhost:2541/Results....
<?xml version="1.0" encoding="utf-16"?>
Мне интересно, где найти кодировку UTF-16 с учетом того, что:
- Все мои файлы сохраняются как UTF-8
- Ответ от сервера в UTF-8
- Способ чтения листа xslt настроен как UTF-8.
Любая помощь будет оценена.
Заранее спасибо.
С наилучшими пожеланиями.
Хосе.