原因 主要是编码的问题。在设置文件名称前,加上判断。判断下载者使用的浏览器,如果不是火狐浏览器,则对文件名称进行UTF8编码;如果是火狐浏览器,则不对文件名称进行操作. 解决办法 文件名称编码时进行判断,不是火狐浏览器时才进行编码 ...
实例: String poorName dataMap.get NAME .toString String villageName dataMap.get ADDRESS .toString String filename villageName poorName .doc response.setContentType application doc final String userAgent ...
2016-04-18 10:38 0 5123 推荐指数:
原因 主要是编码的问题。在设置文件名称前,加上判断。判断下载者使用的浏览器,如果不是火狐浏览器,则对文件名称进行UTF8编码;如果是火狐浏览器,则不对文件名称进行操作. 解决办法 文件名称编码时进行判断,不是火狐浏览器时才进行编码 ...
我最近在开发时遇到了文件另存为时文件名出现乱码,在火狐上正常的文件名,在IE中又出现乱码问题,然后好不容易在IE下调试好了文件名乱码问题,在火狐下又出现乱码,最后终于感觉这样是能解决了。具体如下: ...
首先在文件下载时,请求类型需要设置编码 : 最终文件名处理交给UserAgentUtil的encodeFileName: 这样在进行文件下载时,使用这个工具类对文件名进行一次编码,就可以处理不同浏览器下载文件乱码的问题了。 参考 开源中国 ...
String agent = request.getHeader("USER-AGENT").toLowerCase(); response.setContentType("application/vnd.ms-excel"); String fileName = "文件名 ...
= "文件名"; String codedFileName = java.net.URLEncode ...
如题,做到这点即需要对浏览器进行区分后,对文件名进行不同的编码格式 1、区分浏览器 2、针对火狐,对文件名进行如下代码所示的处理过程: 3、针对其他浏览器 ...
网上很多例子是用 msie 和like Gecko 来做区分,说ie11去除了msie; 亲自测试 谷歌浏览器也带like Gecko,ie11的 msie没有移除,并且带有trident标记 结论是 不用用like Gecko来做区分,最后 ...