下载文件时不同的浏览器乱码处理

 1 /**
 2      * 设置下载时 文件名显示为中文 屏蔽了浏览器的差异
 3      */
 4     public static void setFileDownloadHeader(HttpServletRequest request,
 5             HttpServletResponse response, String fileName) {
 6         final String userAgent = request.getHeader("USER-AGENT");
 7         boolean isMSIE = (userAgent != null && userAgent.indexOf("MSIE") != -1);
 8         try {
 9             String finalFileName = null;
10             if (isMSIE) {// IE浏览器
11                 finalFileName = URLEncoder.encode(fileName, "UTF8");
12             } else {
13                 finalFileName = new String(fileName.getBytes("UTF-8"),
14                         "ISO8859-1");
15                 ;// 其他浏览器
16             }
17             response.setHeader("Content-Disposition", "attachment; filename=\""
18                     + finalFileName + "\"");// 这里设置一下让浏览器弹出下载提示框,而不是直接在浏览器中打开
19         } catch (UnsupportedEncodingException e) {
20             e.printStackTrace();
21         }
22     }

 

posted on 2013-05-07 10:58  无与伦比的卒子  阅读(294)  评论(0)    收藏  举报