下载图片中文文件名

        //Chinese code into UTF-8
	//fileName = new String(fileName.getBytes("GBK"), "ISO-8859-1");
	String agent =  ServletActionContext.getRequest().getHeader("USER-AGENT");
		  if (null != agent){   
			 if (-1 != agent.indexOf("Firefox")) {//Firefox   
				fileName = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileName.getBytes("UTF-8"))))+ "?=";
			}else if (-1 != agent.indexOf("Chrome")) {//Chrome   
				 fileName = new String(fileName.getBytes(), "ISO8859-1");
			} else {//IE7+   
				fileName = java.net.URLEncoder.encode(fileName, "UTF-8"); 
			        fileName = fileName.replaceAll("\\+", "%20");
				            
			} 
	}

 开始是用fileName = new String(fileName.getBytes("GBK"), "ISO-8859-1");这种方式转码,但是在繁体系统里会有乱码问题。

针对然后改为针对浏览器的分类转码。达到了预期的效果。

你可能感兴趣的:(文件)