FIREFOX 下载中文文件名出现乱码的java解决方案

来源:互联网 发布:ssm 怎么打印sql 编辑:程序博客网 时间:2024/05/22 13:15
private void setHeader(HttpServletResponse response,HttpServletRequest request, String filename)throws UnsupportedEncodingException {response.reset();// 设置为下载application/x-downloadresponse.setContentType("application/x-download charset=UTF-8");// 通常解决汉字乱码方法用URLEncoder.encode(...)String filenamedisplay = URLEncoder.encode(filename, "UTF-8") + ".pdf";if ("FF".equals(getBrowser(request))) {// 针对火狐浏览器处理方式不一样了filenamedisplay = new String(filename.getBytes("UTF-8"),"iso-8859-1") + ".pdf";}response.setHeader("Content-Disposition", "attachment;filename="+ filenamedisplay);}// 以下为服务器端判断客户端浏览器类型的方法private String getBrowser(HttpServletRequest request) {String UserAgent = request.getHeader("USER-AGENT").toLowerCase();if (UserAgent != null) {if (UserAgent.indexOf("msie") >= 0)return "IE";if (UserAgent.indexOf("firefox") >= 0)return "FF";if (UserAgent.indexOf("safari") >= 0)return "SF";}return null;}

1 0
原创粉丝点击