前段时间工作的时候将从数据库查到的数据导出到excel时,FireFox和chrome下针对导出excel的文件名中有中文的编码问题,虽然没有找到具体的原因,但以解决问题,代码如下:
1.获取浏览器的类型
<span style="font-size:24px;">String agent = request.getHeader("USER-AGENT");</span>
2.根据浏览器类型进行适配
<span style="font-size:24px;">if (agent != null && agent.indexOf("MSIE") == -1) {// FF 火狐
fileName = new String(fileName.getBytes(), "ISO-8859-1");
} else {// IE
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
}</span>
对FF类型的浏览器进行ISO-8859-1编码,对非FF类型的浏览器用utf-8编码