У меня есть приложение GWT, откуда я могу скачать некоторые файлы. И у меня проблема с кодировкой.Java-кодирование filename Content-Disposition
Вот код:
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 ąśżźć # $% ~ дю!", Но в 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 и с «attachment; filename * = utf-8», но ничего хорошего.
Любые предложения?
ПОЧЕМУ нижестоящий? Мне кажется совершенно законным вопрос – fge
См. [Здесь] (http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http) , но пост 3 года, я не знаю, как сложилась ситуация с тех пор – fge
Thx fge, ответ спораков был очень полезным. – user2490669