【发布时间】:2013-06-16 12:07:03
【问题描述】:
我有 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 testuje ąśżźć !#$%~ 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''”进行了测试,但效果不佳。
有什么建议吗?
【问题讨论】:
-
为什么投反对票?对我来说似乎是一个完全合理的问题
-
见here,不过帖子已经3年了,不知道从那以后情况怎么样了
-
谢谢 fge,sporaks 的回答非常有帮助。
标签: java firefox gwt encoding content-disposition