您的位置:首页 > 其它

用火狐浏览器下载中文文件名的文件乱码及其解决

2013-12-02 21:02 302 查看
java写的下载,用IE默认下载和360浏览器下载都很正常,就是用火狐浏览器下载时,文件名称的中文字为乱码,解决方式记录于此:

先在页面做下判断,判断是什么浏览器,然后传一个参数到servlet,进行用不同的编码方式:
火狐的:
response.addHeader("Content-Disposition", "attachment;filename="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));
IE及其他:
response.addHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(fileName, "UTF-8"));

参考其他资料,火狐中文文件名乱码可以先将中文文件名做Base64编码处理后可按一般浏览器的方式处理,具体可以参考:
http://bbs.csdn.net/topics/370099592
顺便说下java怎么判断浏览器的类型:

request.getHeader("User-Agent")中有含有浏览器操作系统等信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: