首页 电脑 电脑学堂 查看内容

Java下载中文乱码问题解决方法

2010-12-16 18:01 571 0

摘要:     问题描述:Java应用下载文件功能,输出文件名中的中文乱码    测试环境:tomcat,websphere6.1 &nb...
关键词: nbsp fileName utf-8 response String toUtf8String StringBuffer Disposition attachment setHeader

    问题描述: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();    }    本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名孙镜涛(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部