SP,用response.setHeader下載中文附件名亂碼解決

在生產服務器上,有很多JSP出現下載excel附件時,文件名出現亂碼的問題(文件中的內容正常)。
解決方法:
A: fileName = URLEncoder.encode(fileName , "UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
優點,支持國際化,日語、臺灣、中文附件名都支持;
缺點,文件名不能超過17個漢字(IE6的BUG,可以打補丁解決,http://support.microsoft.com/default.aspx?kbid=816868)
 
B: response.setHeader( "Content-Disposition", "attachment;filename="  + new String( fileName.getBytes
("gb2312"), "ISO8859-1" ) );
優點,支持GB2312文件名,長度無限制;
缺點,不支持日文等附件名。
 
此問題在JDK1.5中出現,以前版本JDK1.3似不存在此類問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章