【发布时间】:2023-03-18 04:41:01
【问题描述】:
我弄乱了编码。
一方面,我有一个以 UTF-8 响应我的 url(我很确定感谢 firebug 插件)。
我使用以下代码打开读取 UTF-8 内容的 url:
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 sheet 的读取方式配置为 UTF-8。
任何帮助将不胜感激。
提前致谢。
最好的问候。
何塞。
【问题讨论】:
标签: xml xslt httpwebrequest