我尝试导出JSP页面的内容(内容是日语),我想给导出的文件一个日文名称。但是我得到了带有乱码文件名的“保存对话框” - 我看不到正确的日文。
此对话框由JSP文件中的此行调用:
response.setHeader("Content-Disposition","attachment; filename="+fileName+".xml\"");
filename 使用java.net.URLEncoder以UTF-8编码。
适用于版本9的IE浏览器(显示正确的名称)。
但是在IE 8中,这种行为非常奇怪:它适用于某些计算机,而且在某些计算机上它不起作用。它始终适用于带有XP的IE 8,但使用Win7它在大多数计算机上都不起作用。 我试图重置浏览器,清除浏览器缓存。
另一点:如果我将Windows中的非Unicode程序的语言更改为日语,它也可以。
我使用Tomcat应用服务器。
我该怎么办?我已经看过很多与此相关的帖子,但它总是被描述为编码问题。在这里我理解编码是好的,因为它适用于许多其他版本的IE。
谢谢,
亚历
答案 0 :(得分:1)
我不相信有一种可靠的方法可以让它在IE9之前运行。对于IE9及更高版本,只需使用规范中定义的头字段。请参阅http://greenbytes.de/tech/tc2231/(测试用例)和http://greenbytes.de/tech/webdav/rfc6266.html(规范)。
答案 1 :(得分:0)
您尝试以下代码:
response.setHeader("Content-Disposition","attachment; filename="+new String(fileName.getBytes(), "ISO-8859-1")+".xml\"");