之前网上说解决下载文件中文名的方法,在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看不到用户表
- Server Tomcat v7.0 Server不能起步
- jquery,二维数组取值。解决办法
- 求架构方案:一个日均访问量50万的物流筛单系统的技术架构方案?解决办法
- 关于 if(rs.getString("").trim().equals(""))解决办法
- 诡异:代码执行到哪去了?解决办法
- 关于 Spring 声明式事务管理!解决办法
- 在哪找的SQL Server 2005数据库驱动文件?为什么sql server2005安装盘上面没有找到
- The server encountered an internal error () that prevented it from fulfilling th解决方案
- IE firefox 跟chrome执行js的区别
- 求《Java Web 程序设计与项目实践》解决办法
- 加载Hibernate的报错了,求解。解决办法
- B/S方面,java比PHP更好吗?解决办法
- 算法求解String str = "A,B,C,A,B,A"解决办法
- JSP运行异常 STRUTS + SQL SERVER 2005
- jsp连接sql server 2005时出现的异常
- jsp连接sql server 2005数据库是异常!
- 这段代码还能不能优化?解决办法
- JAVA读取一个文件,非得搞那么麻烦么?解决办法
- 大家帮帮忙呀The server encountered an internal error () that prevented it解决方法
- ASP上Set GetSession("conn")=server.CreateObject("adodb.connection")
- Server Apache Tomcat v6.0.35 at localhost failed to start
- JDBC 连接sql server 2005老是失败怎么处理?恳请高手帮忙。
- SOS-(奇怪现象)服务器暂不可用500 internal server error,该怎么解决
- 求帮忙。解决办法
- tomcat没法运行Could not publish to the server. Error while expanding
- POI导入excel数据(数据有父子关系)解决办法
- IE不支持JQuery吗?解决办法
- sql server 设置非空默认值之后,hibernate添加出现异常
- 求WebService的解决方案!解决办法