2013-06-16 3 views
-1

일부 파일을 다운로드 할 수있는 GWT 앱이 있습니다. 인코딩 문제가 있습니다.Java 인코딩 파일 이름 내용 처리

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); 

크롬과 IE에서 파일 이름은 "Żółw testuje ąśżźć을 # $ % ~ 뒤!"하지만, 파이어 폭스에서 % 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, sporaks 대답은 매우 도움이되었습니다. – user2490669

답변