Java文件下载中文名不显示&乱码

文件上传下载中遇到了中文名不显示的问题,因为Header中只支持ASCII,传输的文件名必须是ASCII。

filename = new String(filename .getBytes(), "ISO-8859-1");

//filename = URLEncoder.encode(file_name,"UTF-8");

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

原因

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

猜你喜欢

转载自java-doom.iteye.com/blog/2422383