解决IE11下载附件文件名乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决IE11下载附件文件名乱码问题相关的知识,希望对你有一定的参考价值。

/** 
     * 对文件流输出下载的中文文件名进行编码 屏蔽各种浏览器版本的差异性 
     * @throws UnsupportedEncodingException  
     */  
    public static String encodeChineseDownloadFileName(  
            HttpServletRequest request, String pFileName) throws UnsupportedEncodingException {  
          
         String filename = null;    
            String agent = request.getHeader("USER-AGENT");    
            if (null != agent){    
                if (-1 != agent.indexOf("Firefox")) {//Firefox    
                    filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(pFileName.getBytes("UTF-8"))))+ "?=";    
                }else if (-1 != agent.indexOf("Chrome")) {//Chrome    
                    filename = new String(pFileName.getBytes(), "ISO8859-1");    
                } else {//IE7+    
                    filename = java.net.URLEncoder.encode(pFileName, "UTF-8");    
                    filename = StringUtils.replace(filename, "+", "%20");//替换空格    
                }    
            } else {    
                filename = pFileName;    
            }    
            return filename;   
    }

另外可以修改下IE的配置,也可以

1.Win + R输入gpedit.msc打开组策略编辑器
2.定位到计算机配置→管理模板→windows组件→Internet Explorer→自定义用户代理字符串
3.双击打开设置已启动,输入字符串“MSIE 9.0”
4.点击确定
5.重启浏览器即可生效


转载至:http://blog.csdn.net/dracotianlong/article/details/22687891

本文出自 “ciyo技术分享” 博客,请务必保留此出处http://ciyorecord.blog.51cto.com/6010867/1934905

以上是关于解决IE11下载附件文件名乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

客户电脑的ie6调用servlet下载附件,文件名总是一串乱码类似于“%E5%A5%A5%E8%BF%90%E4%BC%”

Java 解决IE浏览器下载文件,文件名出现乱码问题

JSP页面下载文件,文件名乱码问题。

解决IE浏览器下载文件,文件名乱码问题(浏览器历史介绍)

DEDECMS上面用FTP工具上传中文附件后名称是乱码 这个 怎么解决?

下载的东西文件名出现乱码怎么解决?