import org.apache.commons.codec.binary.Base64;
public String fileNameFixer(String fileName){
String agent = (String)request.getHeader("USER-AGENT");
String enableFileName = "";
try{
if(agent != null && agent.indexOf("MSIE") == -1) {// FF
enableFileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";
}else {
enableFileName = new String(fileName.getBytes("GBK"), "ISO-8859-1");
}
}catch(UnsupportedEncodingException e){
System.out.println("不支持的编码方式");
e.printStackTrace();
}
return enableFileName;
}
关于servlet的处理方式,请见http://wzwd111.iteye.com/blog/1073796