im messing с кодировками.Мессинг с кодировкой и XslCompiledTransform
С одной стороны у меня есть URL-адрес, который отвечает мне в UTF-8 (им довольно уверен, благодаря плагину firebug).
Im, открывая 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;
Тогда ведь им оказывают в WebBrowser содержание этого писателя и им получить следующую ошибку:
The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
Switch from current encoding to specified encoding not supported. Error processing resource ' http://localhost:2541/Results ....
<?xml version="1.0" encoding="utf-16"?>
Мне интересно, где найти кодировку UTF-16, принять в счет:
- Все мои файлы сохранены как UT F-8
- Ответ от сервера находится в UTF-8
- Способ чтения листа xslt настроен как UTF-8.
Любая помощь будет оценена по достоинству.
Заранее спасибо.
С наилучшими пожеланиями.
Jose.