我正在尝试通过xsl转换处理我的一些xml并将其发送到客户端来创建一个html附件。如果我单击“打开”,IE会正确显示html,但如果我保存附件然后在Firefox中打开它,那么每个地方都有一个“”字符。我觉得这与我们的编码有关。这是相关的代码:
Response.Clear();
Response.ContentEncoding = Encoding.UTF8;
Response.ContentType = "text/html";
Response.Charset = "utf-8";
Response.AddHeader("Content-Disposition",
String.Format("attachment; filename={0}; size={1}", filename, rgen.Output.Length));
//Response.Flush();
Response.Write(rgen.Output);
Response.Flush();
Response.End();
rgen.Output是一个来自stringwriter.tostring()的字符串,其中包含已转换的html。
似乎xslt始终将编码设置为UTF-16,但我已将上面的代码更改为utf-16,但它也无法正常工作。有什么想法正在发生什么?
感谢。
答案 0 :(得分:0)
您的XSL doc输出是什么样的?你在那里设置了什么编码?
<xsl:output encoding="utf-8" omit-xml-declaration="yes" method="html" indent="no" ></xsl:output>