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();

    }

  • 相关阅读:
    谈一谈循环的性能提升
    Web前端性能优化的9大问题
    随机获取一种颜色值的三种方法
    ES6还是ES2015?
    history.back(-1)和history.go(-1)的区别
    关于overflow-y:scroll ios设备不流畅的问题
    前端如何压缩图片
    【转】理解JavaScript之闭包
    关于如何给数字排序
    本地缓存localstorage使用
  • 原文地址:https://www.cnblogs.com/jingtao/p/1908450.html
Copyright © 2011-2022 走看看