之前网上说解决下载文件中文名的方法,在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;
}
详细解决方案
Firefox下载文件中文乱码的一种Server端解决办法
热度:81 发布时间:2013-10-16 11:29:46.0
相关解决方案
- myeclipse联接sql server 2008看不到用户表
- jquery,二维数组取值。解决办法
- 求架构方案:一个日均访问量50万的物流筛单系统的技术架构方案?解决办法
- 关于 if(rs.getString("").trim().equals(""))解决办法
- 诡异:代码执行到哪去了?解决办法
- 在哪找的SQL Server 2005数据库驱动文件?为什么sql server2005安装盘上面没有找到
- IE firefox 跟chrome执行js的区别
- 求《Java Web 程序设计与项目实践》解决办法
- B/S方面,java比PHP更好吗?解决办法
- 算法求解String str = "A,B,C,A,B,A"解决办法
- ASP上Set GetSession("conn")=server.CreateObject("adodb.connection")
- SOS-(奇怪现象)服务器暂不可用500 internal server error,该怎么解决
- POI导入excel数据(数据有父子关系)解决办法
- IE不支持JQuery吗?解决办法
- sql server 设置非空默认值之后,hibernate添加出现异常
- 求WebService的解决方案!解决办法
- 关于ibatis的<isNotEmpty>解决办法
- 关于<s:iterator>遍历数据。解决办法
- ASP技术升级选择.(.net或Java)解决办法
- 吐了,java Timer 停止不了。解决办法
- struts2 带查询条件分页怎样把值带入下一页?解决办法
- 怎样编写jsp登陆次数超过3次就锁定用户,再过24小时就取消锁定?解决办法
- JSP中能用request.setAttribute向Servlet传递数据吗?解决办法
- JSP页面实现带导航条的数据分页?解决办法
- music/xxx.mp3 的正则表达式!解决办法
- 解决办法
- ajax二级联动(选一个下拉表的值,另外两个多选框值也跟着改变)解决办法
- 可以安装在win7系统的sql server
- 实现QQ空间效果!解决办法
- form表单中的数据不能传送到action中?解决办法