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

    // 判断浏览器  

            HttpServletRequest request = ServletActionContext.getRequest();  

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

            if (null != Agent) {  

                Agent = Agent.toLowerCase();  

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

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

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

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

                } else {  

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

                }  

            }
  //乱码出现的原因

    ie采用URLEncoder编码输出中文

    opera采用filename

    safari采用iso-8859-1

    chrome采用base64或iso-8859-1

    firefox采用base64或iso-8859-1

 


你可能感兴趣的:(firefox)