Firefox下载附件乱码的解决办法

通过在http的header里设置fileName下载附件时,中文文件名通过chrome浏览器下载时正常,通过firefox下载时为乱码:

原来的Java代码:

response.addHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(downloadName,"UTF-8").
                replace("+", "%20").replace("%40", "@").replace("%26", "%"));

解决办法一:

将filename部分改为filename*=utf-8''+文件名

response.addHeader("Content-Disposition","attachment; filename*=utf-8''"+ URLEncoder.encode(downloadName,"UTF-8").
                replace("+", "%20").replace("%40", "@").replace("%26", "%"));

 解决办法二:

将文件名编码为iso-8859-1

String downloadFileName=new String(downloadName.getBytes("UTF-8"),"iso-8859-1");
原文地址:https://www.cnblogs.com/oliverreal/p/10217769.html