可以用下面2种简单的方法:
导出的类部分代码:
HttpResponse resp;
resp=Page.Response;
resp.ContentEncoding=System.Text.Encoding.Default;
resp.AppendHeader("Content-Disposition", "attachment;filename=报表.xls"); //这样写就出现了乱码
1.用System.Web.HttpUtility.UrlEncode或者Server.UrlEncode方法,不过要2个参数都写上:
System.Web.HttpUtility.UrlEncode("报表",System.Text.Encoding.UTF8)+".xls");
2.用HttpUtility.UrlPathEncode方法,只要写一个参数就可以了:
HttpUtility.UrlPathEncode("报表.xls")
最好就是这种了:
resp.AppendHeader("Content-Disposition", "attachment;filename="+HttpUtility.UrlPathEncode(FileName));
本文介绍了两种解决在导出报表文件时出现乱码问题的有效方法。第一种方法使用System.Web.HttpUtility.UrlEncode进行编码,并指定UTF8编码;第二种方法采用HttpUtility.UrlPathEncode简化操作。这两种方法都能确保文件名正确显示,避免乱码问题。
749

被折叠的 条评论
为什么被折叠?



