2013-06-16 2 views
-1

У меня есть приложение 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», но ничего хорошего.

Любые предложения?

+0

ПОЧЕМУ нижестоящий? Мне кажется совершенно законным вопрос – fge

+0

См. [Здесь] (http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http) , но пост 3 года, я не знаю, как сложилась ситуация с тех пор – fge

+0

Thx fge, ответ спораков был очень полезным. – user2490669

ответ

Смежные вопросы