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

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

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

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

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

posted @ 2019-09-30 09:06  lcfeiyu  阅读(6535)  评论(0)    收藏  举报