内容配置:日文文件名乱码

时间:2014-09-16 10:51:42

标签: jsp internet-explorer internet-explorer-8 url-encoding content-disposition

我尝试导出JSP页面的内容(内容是日语),我想给导出的文件一个日文名称。但是我得到了带有乱码文件名的“保存对话框” - 我看不到正确的日文。

enter image description here

此对话框由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。

谢谢,

亚历

2 个答案:

答案 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\"");