之前有做文件下载处理,但由于文件名一直是英文的,所以并未发现有该问题,直到最近项目中有中文名出现.
以前的代码设置:
header['Content-Disposition'] = 'attachment; filename=\"'+result['out_filename']+'\"';
现在的代码设置:
result['out_filename'] = encodeURI(result['out_filename']);header['Content-Disposition'] = "attachment; filename=\""+result['out_filename']+"\"; filename*=utf-8''"+result['out_filename'];
有两点说明一下:
1) 对应的文件名 encode一次
2) header中设置时多一个参数filename*=指定编码格式.....
参考文章地址:http://www.iefans.net/xiazai-wenjian-http-bianma-content-disposition/
本文介绍了解决中文文件名在HTTP下载过程中出现乱码的问题。通过使用encodeURI对文件名进行编码,并在Content-Disposition头中指定UTF-8编码方式,确保了中文文件名能正确显示。
1万+

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



