Java-poi导出Excel文件名有中文

Java-poi导出Excel文件名有中文

  • 问题描述
    • 首先
    • 其次
    • 最后

问题描述

SSM框架下,java项目poi插件导出Excel文件的文件名中有中文,会出现乱码

首先

fileName = "常量表.xls";//创建文件名
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-disposition", "attachment;filename="+fileName);

火狐浏览器乱码,ie、Edge、谷歌、360极速浏览器正常(ie测试时还遇到了另外的问题)。
火狐:
谷歌浏览器:

其次

fileName = "常量表.xls";//创建文件名(改)
fileName = new String(fileName.getBytes(),"ISO8859-1");
response.setHeader("Content-disposition", "attachment;filename="+fileName);

Edge乱码,ie、谷歌、火狐、360极速浏览器正常。
Edge:
ie:
火狐:Java-poi导出Excel文件名有中文_第1张图片

最后

fileName = "常量表.xls";//创建文件名(改)
fileNameURL = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-disposition", "attachment;filename="+fileNameURL+";"+"filename*=utf-8''"+fileNameURL);

Edge、ie、谷歌、火狐、360极速浏览器正常。
原理
参考

你可能感兴趣的:(poi导出excel,java导出excel,文件名中文编码,java)