HTTP协议header中Content-Disposition中文文件名乱码

Posted lcfeiyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议header中Content-Disposition中文文件名乱码相关的知识,希望对你有一定的参考价值。

HTTP协议header中Content-Disposition中文文件名乱码

产生原因:header中只支持ASCII,所以我们传输的文件名必须是ASCII,当文件名为中文时,必须要将该中文转换成ASCII。

解决方法:对中文文件名使用url编码:java.net.URLEncoder.encode(fileName, "UTF8");(除了IE,其他浏览器都不会乱码)。

浏览器几个容易混淆点:
1、所有浏览器的userAgent都带Mozilla,不能通过Mozilla判断是哪种浏览器。

以上是关于HTTP协议header中Content-Disposition中文文件名乱码的主要内容,如果未能解决你的问题,请参考以下文章

斐迅面试记录—Http协议中的Header

HTTP协议header中Content-Disposition中文文件名乱码

http请求header相关的几个常见问题

http协议发送header+body+json及接收解析

Http协议中的请求头

HTTP协议header标头说明