求助 在下载的时候为什么中文的名字变成了乱码?

byj0066 2005-07-28 03:06:59

destFileName是一个路径和文件名的字符串;

FileInfo fi = new FileInfo(destFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.AppendHeader("Content-Disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode(fi.Name,System.Text.Encoding.Default ));

Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(destFileName);
Response.Flush();
Response.End();


以上代码有什么问题吗?为什么我总是出现乱码?System.Text.Encoding.UTF8 也试过了,不可以啊
...全文
192 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordragon 2005-11-28
  • 打赏
  • 举报
回复
设置web.config中:
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
guansong8079776 2005-11-28
  • 打赏
  • 举报
回复
up
byj0066 2005-07-28
  • 打赏
  • 举报
回复
文件是能打开的,就是默认的文件名是乱码,真是没办法啊
to gaochundu(高纯度)
你的那个我改了一下,结果出错了,不可以啊
它说:The path is too long after being fully qualified. Make sure path is less than 260 characters.
gaochundu 2005-07-28
  • 打赏
  • 举报
回复
Response.WriteFile( System.Web.HttpUtility.UrlEncode( destFileName ) );

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧