java导出文件IE/Google文件名乱码兼容

本文提供了一种解决导出文件名出现乱码的方法。通过判断用户的浏览器类型,使用不同的编码方式来确保文件名正确显示。适用于MSIE和其他浏览器。

 

导出文件名乱码解决方案:

1 String agent = request.getHeader("User-Agent");
2 boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
3 if( isMSIE ){
4   finalFileName = java.net.URLEncoder.encode(exportFileName,"UTF8");
5 }else{
6   finalFileName = new String(exportFileName.getBytes("UTF-8"), "ISO-8859-1");
7 }
8             
9 response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");//设置为浏览器弹出下载提示框,而非直接在浏览器中打开

 

转载于:https://www.cnblogs.com/yadongliang/p/6560082.html

Accept application/json, text/plain, */* Accept-Encoding gzip, deflate, br, zstd Accept-Language zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Authorization eyJjdHkiOiJIUzI1NiIsInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJwZXJtaXNzaW9ucyI6Ilt7XCJhdXRob3JpdHlcIjpcInJlY2hhcmdlXCJ9LHtcImF1dGhvcml0eVwiOlwiYWZmYWlyc1wifSx7XCJhdXRob3JpdHlcIjpcInN5c3RlbVwifSx7XCJhdXRob3JpdHlcIjpcImNvcHktbWV0ZXJcIn0se1wiYXV0aG9yaXR5XCI6XCJyZXBvcnRcIn0se1wiYXV0aG9yaXR5XCI6XCJhbmFseXNpc1wifSx7XCJhdXRob3JpdHlcIjpcIm1haW50ZW5hbmNlXCJ9LHtcImF1dGhvcml0eVwiOlwiYXBwbGljYXRpb25cIn0se1wiYXV0aG9yaXR5XCI6XCJsb2dcIn0se1wiYXV0aG9yaXR5XCI6XCJvdGhlclwifSx7XCJhdXRob3JpdHlcIjpcImRhc2hib2FyZFwifSx7XCJhdXRob3JpdHlcIjpcImN1c3RvbWVyXCJ9LHtcImF1dGhvcml0eVwiOlwiUk9MRV9BRE1JTlwifV0iLCJpZCI6MSwiZXhwIjozNjQ2NTQxMjk2LCJ1c2VybmFtZSI6ImFkbWluIn0.o1W0LnqKQ6HBe3Tm_xc4dQXmOhF7Ho9KYiZ3dJN9n6c Connection keep-alive Content-Length 2 Content-Type application/json Cookie JSESSIONID=3YA5rtveexBSXoYFglr4j2HNdDXFNHkf0zJrBlB6 Host localhost:8080 Origin http://localhost:8080 Priority u=0 Referer http://localhost:8080/customer Sec-Fetch-Dest empty Sec-Fetch-Mode cors Sec-Fetch-Site same-origin User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0 这是火狐浏览器导出文件的请求头 application/json, text/plain, */* accept-encoding gzip, deflate, br, zstd accept-language zh-CN,zh;q=0.9 authorization eyJjdHkiOiJIUzI1NiIsInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJwZXJtaXNzaW9ucyI6Ilt7XCJhdXRob3JpdHlcIjpcImN1c3RvbWVyXCJ9LHtcImF1dGhvcml0eVwiOlwicmVjaGFyZ2VcIn0se1wiYXV0aG9yaXR5XCI6XCJhZmZhaXJzXCJ9LHtcImF1dGhvcml0eVwiOlwic3lzdGVtXCJ9LHtcImF1dGhvcml0eVwiOlwiY29weS1tZXRlclwifSx7XCJhdXRob3JpdHlcIjpcInJlcG9ydFwifSx7XCJhdXRob3JpdHlcIjpcImFuYWx5c2lzXCJ9LHtcImF1dGhvcml0eVwiOlwibWFpbnRlbmFuY2VcIn0se1wiYXV0aG9yaXR5XCI6XCJhcHBsaWNhdGlvblwifSx7XCJhdXRob3JpdHlcIjpcImxvZ1wifSx7XCJhdXRob3JpdHlcIjpcIm90aGVyXCJ9LHtcImF1dGhvcml0eVwiOlwiZGFzaGJvYXJkXCJ9LHtcImF1dGhvcml0eVwiOlwiUk9MRV9BRE1JTlwifV0iLCJpZCI6MSwiZXhwIjozNjQ2MTA3MDk0LCJ1c2VybmFtZSI6ImFkbWluIn0.aIIIU1blfIHTbCM9mVY8_6Aj27IiwieOyHDK1IflJSo cache-control no-cache connection keep-alive content-length 2 content-type application/json cookie JSESSIONID=GjCp6r_LYcQVO201PsIOuppOMQ3xoAqeSdYrCTvJ; Webstorm-be5713b8=c4fd27ab-3f56-4132-9bd3-601434e5118c host localhost:8080 origin http://localhost:8080 pragma no-cache referer http://localhost:8080/customer sec-ch-ua "Google Chrome";v="137", "Chromium";v="137", "Not/A)Brand";v="24" sec-ch-ua-mobile ?0 sec-ch-ua-platform "Windows" sec-fetch-dest empty sec-fetch-mode cors sec-fetch-site same-origin user-agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36这是谷歌浏览器导出文件的请求头 还是火狐浏览器导出的excel文件就有文件保护,谷歌浏览器导出的excel文件就没有
最新发布
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值