我一直在尝试下载具有中文文件名的附件,但是在下载时它们的编码会发生变化,一些含有中文字符的奇怪文件名被保存。
技术: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://www.rfc-editor.org/rfc/rfc5987
提前致谢。
getWriter()
之前是否设置了字符编码? - Mạnh Quyết Nguyễn