打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
兼容各浏览器的文件下载时中文名称乱码的解决方案
Java代码  
  1. public class DownloadServlet extends HttpServlet {  
  2.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  3.         // codes..  
  4.         String name = "中文名 带空格 的测试文件.txt";  
  5.         String userAgent = request.getHeader("User-Agent");  
  6.         byte[] bytes = userAgent.contains("MSIE") ? name.getBytes() : name.getBytes("UTF-8"); // name.getBytes("UTF-8")处理safari的乱码问题  
  7.         name = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码  
  8.         response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", name)); // 文件名外的双引号处理firefox的空格截断问题  
  9.         // codes..  
  10.     }  
  11. }  


这段代码处理了文件下载时不同浏览器解析中文文件名所出现的乱码问题和firefox的空格截断问题,在IE9, chrome, opera, safari, firefox下均测试通过。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Firefox下载文件时中文名乱码问题
Android之解决Base64 encode中文乱码问题
IE浏览器下载文件中文文件名乱码问题解决
字符,字节和编码
【Java 基础专题】编码与乱码(04)---输出时的编码与乱码 - Java - 拼吾爱...
Java String编码转换
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服