小编Rhy*_*ngh的帖子

不支持中文的 Content-Disposition 文件名

我一直在尝试下载带有中文文件名的附件,但不知何故他们的编码在下载时发生了变化,并且在有中文字符的地方保存了一些乱码文件名。

技术:Java 服务器:Apache Tomcat

这是我已经尝试过的

response.setHeader("Content-Disposition", "attachment; filename=\"7_6_4_AM__2017_JS_003_??????_B1_108\"");

输出(下载的附件名称):“7_6_4_AM__2017_JS_003_W_äð”

我还尝试在引用后将 * 附加到文件名指令:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition response.setHeader("Content-Disposition", "attachment; filename*=\"7_6_4_AM__2017_JS_003_??????_B1_108\"");

输出(下载的附件名称):“706.txt”

还,

在我的研究中,我发现 HTTP 标头消息不能携带 ISO-8859-1 字符集之外的字符。

https://tools.ietf.org/html/rfc5987

提前致谢。

java file httpresponse character-encoding http-headers

4
推荐指数
1
解决办法
4131
查看次数