即時編碼與混亂。梅辛與編碼和XslCompiledTransform
一方面,我有一個URL以UTF-8響應我(非常確定感謝firebug插件)。
StreamReader reader = new StreamReader(response.GetResponseStream(),System.Text.Encoding.UTF8);
對於另一方面我有一個變換XSLT片用以下代碼:
林使用以下代碼打開URL讀取UTF-8含量
<?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;
然後畢竟IM在web瀏覽器渲染這個作家的內容和即時得到以下錯誤:
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。
任何幫助,將不勝感激。
在此先感謝。
最好的問候。
何塞。