首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Firefox下载文件中文乱码的一种Server端解决办法

2013-10-16 
Firefox下载文件中文乱码的一种Server端解决方法之前网上说解决下载文件中文名的方法,在IE浏览器下管用。但

Firefox下载文件中文乱码的一种Server端解决方法

之前网上说解决下载文件中文名的方法,在IE浏览器下管用。但到了FF下,就不能还原汉字了。找了一些文章,发现一个方法最简单方便,试了一下,成功!

response.reset();
//设置为下载application/x-download
response.setContentType("application/x-download charset=UTF-8");
//通常解决汉字乱码方法用URLEncoder.encode(...)
String filenamedisplay = URLEncoder.encode(filename,"UTF-8")+".doc";
if("FF".equals(getBrowser(request))){
//针对火狐浏览器处理方式不一样了
filenamedisplay = new String(filename.getBytes("UTF-8"),"iso-8859-1")+".doc";
}
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;
}

热点排行