Java编码文件名Content-Disposition

时间:2013-06-16 12:07:03

标签: java firefox gwt encoding content-disposition

我有GWT应用程序,我可以从这里下载一些文件。而且我遇到了编码问题。

以下是一些代码:

String n = "Żółw testuje ąśżźć !#$%~ du";
String tmp = new String();
for(int i = 0; i < n.length(); i++) {
    String t = Character.toString(n.charAt(i));
    if(" =-_]}[{)(&^%$#@!~`,".contains(t))
        tmp +=t;
    else
        tmp += URLEncoder.encode(t, "UTF-8");
}

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

在Chrome和IE中,文件名为“Żółwtestuje±śżźć!#$%〜du”但在Firefox中为“%C5%BB%C3%B3%C5%82w testuje%C4%85%C5%9B%C5% BC%C5%BA%C4%87!#$%~du“。我已经使用Windows-1252,ISO-8859-1,Cp852和“附件;文件名* = utf-8”进行了测试,但没有用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

请参阅相关规范 - http://greenbytes.de/tech/webdav/rfc6266.html - 以及http://greenbytes.de/tech/tc2231/处的测试用例。