从xslt创建html附件,编码问题,asp.net

时间:2009-05-06 20:02:20

标签: asp.net string encoding

我正在尝试通过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,但它也无法正常工作。有什么想法正在发生什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您的XSL doc输出是什么样的?你在那里设置了什么编码?

<xsl:output encoding="utf-8"  omit-xml-declaration="yes" method="html" indent="no" ></xsl:output>