zoukankan      html  css  js  c++  java
  • Java下载中文乱码问题解决方法

    问题描述:Java应用下载文件功能,输出文件名中的中文乱码

    测试环境:tomcat,websphere6.1

    方法一:

    response.setContentType("application/x-download");

    fileName = URLDecoder.decode(fileName, "utf-8");

    fileName= java.net.URLEncoder.encode(fileName,"utf-8");

    response.setHeader("Content-Disposition", "attachment; filename=\""+ new String((fileName + ".zip").getBytes(),"UTF-8") +"\"");

    方法二:

    response.setHeader("Content-Disposition", "attachment;filename=" + toUtf8String(filename));

        

    public static String toUtf8String(String s) {

        StringBuffer sb = new StringBuffer();

        for (int i=0;i<s.length();i++) {

            char c = s.charAt(i);

            if (c >= 0 && c <= 255) {

                sb.append(c);

            } else {

                byte[] b;

                try {

                    b = Character.toString(c).getBytes("utf-8");

                } catch (Exception ex) {

                    log.error(ex);

                    b = new byte[0];

                }

                for (int j = 0; j < b.length; j++) {

                    int k = b[j];

                    if (k < 0) k += 256;

    sb.append("%" + Integer.toHexString(k).toUpperCase());

                }

            }

        }

        return sb.toString();

    }

  • 相关阅读:
    es5中的类 继承 (原型链继承,寄生继承,组合继承)
    typeScript类型
    javaScript 不可思议问题
    javaScript 运算符(操作符)
    window.a 与 window[a]区别
    Event Loop事件循环
    生产环境vue-router模式为history导致页面404
    Axios请求添加token
    vue页面利用keep-alive实现页面快速缓存
    js原型链原理
  • 原文地址:https://www.cnblogs.com/jingtao/p/1908450.html
Copyright © 2011-2022 走看看