java导出excel或word等文件名乱码问题解决方法
序
导出excel文件名乱码主要是因为httpServletResponse的header编码问题。
但是,不同浏览器编码又不同!
解决方案
经过测试,使用以下方法解决:
设置Response头信息编码
if ("IE".equals(getBrowser(request))) {
fileName = new String(java.net.URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
} else {
fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
}
/**
* 判断客户端浏览器类型
* @param request
* @return
*/
private String getBrowser (HttpServletRequest request){
String UserAgent = request.getHeader("User-Agent").toLowerCase();
if (UserAgent.indexOf("firefox") >= 0) {
return "FF";
} else if (UserAgent.indexOf("safari") >= 0) {
return "Chrome";
} else {
return "IE";
}
}
经过以上设置,并验证了谷歌、火狐、搜狗、360、IE这几个浏览器,导出excel的文件名均无乱码。
标题:java导出excel或word等文件名乱码问题解决方法
作者:jerrycookie
地址:https://www.mmzsblog.cn/articles/2023/07/25/1690274937510.html
如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议!
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!
