如何解决http输出 中文的文件名时出现 文件名乱码的问题

foshan 2007-04-23 05:53:59

如何解决http输出 中文的文件名时出现 文件名乱码的问题?用了response.Charset = "UTF-8"; 也不行,在“文件下载”对话框中显示的文件名,如果该文件名是纯字母的或纯数字的,就会显示正确的文件名;如果该文件名是 中文汉字的,就出现乱码,如何解决这个问题啊?谢谢!
FileInfo file = new System.IO.FileInfo(request.PhysicalPath);

response.Clear();

response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

response.AddHeader("Content-Length", file.Length.ToString());

response.Charset = "UTF-8";

string fileExtension = file.Extension.ToLower();

switch (fileExtension)
{

case ".mp3":
response.ContentType = "audio/mpeg3";
break;

case ".mpeg":

response.ContentType = "video/mpeg";
break;

case ".jpg":

response.ContentType = "image/jpeg";
break;

case "bmp":

response.ContentType = "image/bmp";
break;

case ".gif":

response.ContentType = "image/gif";
break;

case ".doc":

response.ContentType = "application/msword";

break;
case ".xls":

response.ContentType = "application/vnd.ms-excel";
break;
case ".css":

response.ContentType = "text/css";
break;

default:

response.ContentType = "application/octet-stream";
break;

}

response.WriteFile(file.FullName);

response.End();
...全文
1071 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyx494 2007-04-24
  • 打赏
  • 举报
回复
"UTF-8";用这种格式!问题不解决你抽我!
foshan 2007-04-24
  • 打赏
  • 举报
回复
已解决!
response.Charset = "UTF-8";
response.ContentEncoding = System.Text.Encoding.UTF8;
response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
ma 2007-04-23
  • 打赏
  • 举报
回复
我也遇到了这个问题
KKND2006 2007-04-23
  • 打赏
  • 举报
回复
还是字符集的问题,GB2312试试

再不行就一个个试,网络上有Charset 集合

再不行,看看你的WEB.CONFIG里设置的Charset
dddd218 2007-04-23
  • 打赏
  • 举报
回复
我碰到的问题更奇怪:
我把数据导出到excel,导出的excel文件名使用了GB2312编码。
点击“导出”按钮以后弹出“文件下载”对话框(该对话框中显示的文件名是中文,这个是对的),在该对话框中有“打开”、“保存”、“取消”三个按钮。点击“保存”按钮,则“另存为”对话框中显示的文件名也是中文,这个也是对的;但是如果点击“打开”,则在打开的excel程序显示的中文文件名字是乱码(如果是英文则是正常的)。
总之,Excel导出以后如果“保存”中文名字是正常的,如果直接“打开”则中文名字是乱码。

不知道该如何解决,请教大家。
veryhappy 2007-04-23
  • 打赏
  • 举报
回复
用GB2312编码

62,248

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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