您的位置:首页 > 编程语言 > Java开发

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

2015-05-30 14:54 274 查看
String _filename = "";HttpServletRequest request = ServletActionContext.getRequest();String Agent = request.getHeader("User-Agent");//浏览器判断if (null != Agent) {Agent = Agent.toLowerCase();if (Agent.indexOf("firefox") != -1) {_filename = java.net.URLDecoder.decode(request.getParameter("fileName"));_filename = new String(_filename.getBytes(),"iso8859-1");}else if(Agent.indexOf("chrome") != -1){_filename = new String(request.getParameter("fileName").getBytes(),"iso8859-1");}else if (Agent.indexOf("msie") != -1) {_filename = request.getParameter("fileName");_filename = java.net.URLEncoder.encode(request.getParameter("fileName"), "utf-8");} else {_filename = request.getParameter("fileName");_filename = java.net.URLEncoder.encode(request.getParameter("fileName"), "utf-8");}}//注 在客户端fileName已通过encodeURI 编码
//乱码出现的原因

ie采用URLEncoder编码输出中文
opera采用filename
safari采用iso-8859-1
chrome采用base64或iso-8859-1
firefox采用base64或iso-8859-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: