java下载文件时文件名发生乱码怎么解决

java下载文件时文件名出现乱码的解决办法:

成都创新互联是一家专注于做网站、网站设计与策划设计,湖里网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:湖里等地区。湖里做网站价格咨询:18980820575

    String userAgent = request.getHeader("User-Agent");  
    String formFileName = file.getFileName();  
        
    // 针对IE或者以IE为内核的浏览器:  
    if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {  
        formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8");  
    } else {  
        // 非IE浏览器的处理:  
        formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1");
    }  
    response.setHeader("Content-disposition",String.format("attachment; filename=\"%s\"", formFileName));  
    response.setContentType("multipart/form-data");   
    response.setCharacterEncoding("UTF-8");

扩展:

乱码指的是程序显示出来的字符文本无法用任何语言去解读。一般情况下会包含大量的?。本质上都是由于字符串原本的编码格式与读取时解析用的编码格式不一致导致的。

中文变成看不懂的字符:如果一串中文字符变成了一串看不懂的字符如:"Ì Ô £ ¡Î Ò Ï²»¶ £ ¡",这种情况通常是编码字符集与解码时所用的字符集不一致所造成的。比如使用GBK编码,如果使用ISO-8859-1解码的话结果就是这样。

一个汉字变成了一个问号:如果编码和解码的字符集都是一致的,那么可以确定该字符编码不支持中文,例如:ISO-8859-1

一个汉字变成了两个问号:中文经过多次编码且其中有一次编码或者解码使用了不支持中文的字符集。

以上就是java中文件下载时文件名乱码的解决方法的详细内容,更多请关注创新互联其它相关文章!


文章题目:java下载文件时文件名发生乱码怎么解决
文章链接:http://bzwzjz.com/article/ghhsis.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作 网站制作 企业网站设计 成都网站设计 LED网站设计方案 成都网站设计 企业网站设计 成都网站设计 重庆企业网站建设 定制网站建设 响应式网站设计 成都网站建设 重庆网站建设 重庆网站建设 网站建设 成都网站制作 营销网站建设 成都网站建设 高端网站设计 成都网站建设 品牌网站建设 外贸网站设计方案