二进制输出中文是乱码?
我想输出二进制文件为Flash格式,代码如下。
Response.ContentType = "application/x-shockwave-flash";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
byte[] buff = (byte[])ChartOBJ.ExportAsBinary();
Response.BinaryWrite(buff);
其中ChartOBJ.ExportAsBinary()这部分是我们的一个组件,可以输获得二进制信息。
奇怪的是如果我直接用VS2005运行预览,一切正常,比如用URL访问 http://localhost:2029/TestChart.aspx
但是如果我发布网站后,用IE浏览Flash里面的中文就全是乱码。
我已经在在Response的时候指定了编码格式:例如Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
并且也在web.config中写了如下代码来限制编码格式。<globalization requestEncoding="GB2312" responseEncoding="GB2312" />
为什么经过IIS后,flash中的中文就是乱码,而用VS2005直接运行,或者浏览就不会出现乱码。