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

    }

  • 相关阅读:
    shell:echo -e "33字体颜色"
    Linux配置swap
    软工2017第三周作业——词频效能分析
    ffmpeg——关于视频压缩
    软件工程2017第一次作业——随笔汇总
    软件工程2017第一次作业——随笔二
    软件工程2017第一次作业——随笔一
    02-分支结构
    iOS中如何知道app版本已更新
    socket编程中客户端常用函数 以及简单实现
  • 原文地址:https://www.cnblogs.com/jingtao/p/1908450.html
Copyright © 2011-2022 走看看