解决struts2在(IE,Firefox)下载文件名乱码问题。

 1 // 判断浏览器 

 2         HttpServletRequest request = ServletActionContext.getRequest(); 

 3         String Agent = request.getHeader("User-Agent"); 

 4         if (null != Agent) { 

 5             Agent = Agent.toLowerCase(); 

 6             if (Agent.indexOf("firefox") != -1) { 

 7                 filename = new String(doc.getSubject().getBytes(),"iso8859-1"); 

 8             } else if (Agent.indexOf("msie") != -1) { 

 9                 filename = java.net.URLEncoder.encode(doc.getSubject(),"UTF-8"); 

10             } else { 

11                 filename = java.net.URLEncoder.encode(doc.getSubject(),"UTF-8"); 

12             } 

13         }
1 //乱码出现的原因

2     ie采用URLEncoder编码输出中文

3     opera采用filename

4     safari采用iso-8859-1

5     chrome采用base64或iso-8859-1

6     firefox采用base64或iso-8859-1

 

你可能感兴趣的:(firefox)