代码改变世界

关于下载文件时文件名中文乱码

2006-08-14 17:32  晓风残月  阅读(...)  评论(... 编辑 收藏
当以流格式下载文件时,如果碰到文件是中文的时候,保存框总是显示乱码:
Response.Clear();
            Response.ClearHeaders();
            Response.Buffer 
= false;
            Response.ContentType 
= "text/xml";                                   
            Response.AppendHeader(
"Content-Disposition""attachment;filename=" + fileName + ".xml");   //设置文件名称

            Response.AppendHeader(
"Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);            
            Response.Flush();
            Response.End();

需要对其进行URL编码:
将上面注释的那句:
 Response.AppendHeader("Content-Disposition""attachment;filename=" + Context.Server.UrlPathEncode(fileName) + ".xml");   
就可以了。

PS:有点不解的是HttpUtilty还提供了一个UrlEncode方法,但是无法解决此问题。