日期:2014-05-18  浏览次数:20488 次

关于输出文件名的编码
HttpContext.Current.Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode("文件名",System.Text.Encoding.UTF8));

这是我要输出的文件的文件名.

<globalization 
  requestEncoding="gb2312" 
  responseEncoding="gb2312" 
  />


这是web.config的配置信息

可是我输出的时候.中文是乱码..不知道应该怎么处理.谢谢

------解决方案--------------------


===================
 针对文件名
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(name));

针对文件内容
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

出现问题了,可能 是应为 你 在URL 中 传递了 中文name。

如果这样的话,传递的时候,也要 编码: Server.UrlEncode
<a href='<%#"downfile.aspx?name="+Server.UrlEncode(DataBinder.Eval(Container.DataItem,"filename").ToString())+"&path="+DataBinder.Eval(Container.DataItem,"filepath")%>' >