servlet中文名附件下载,出现乱码的问题


一般会做如下设置:

					response.setContentType("application/x-msdownload; charset=" + contentTypeCharset);
					response.setHeader("Content-disposition", "attachment;filename=\"" + filename + "\"");

 

为了国际通用,使用UTF-8字符集。

 

文件名需要进行编码转换:

 new String(filename.getBytes(),"iso8859-1") 
 

但对于简体IE,下载时仍然是乱码,使用下面方式却可以正常打开。

java.net.URLEncoder.encode(filename,"GBK") 
 

但对于繁体Windows、IE,上面代码产生的确认乱码,需要使用第一次的转换方式。

 

难道简体WINDWOSXP、IE7,开发中存在问题?

 

需要用更多的环境验证。

 

 

 

你可能感兴趣的:(windows,.net,servlet,IE)