Java编码文件名内容处理



我有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中,文件名是"Żółw testje ąśżźć !#$%~ du",但在Firefox中是"%C5%BB%C3%B3%C5%82w testje %C4%85%C5%9B%C5%BC%C5%BA%C4%87 !#$% %~ du"。我已经用Windows-1252、ISO-8859-1、Cp852和"附件;Filename *=utf-8 " "但不行

有什么建议吗?

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

相关内容

  • 没有找到相关文章

最新更新