-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 ''로 테스트했지만 좋은 결과는 없습니다.제안 사항?
왜 하향식입니까? 나에게 완벽하게 합법적 인 질문처럼 보입니다 – fge
[여기] (http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http)를 참조하십시오. , 게시물은 3 세입니다, 그때 이후로 상황이 어떻게 진화했는지 모르겠습니다. – fge
Thx FGE, sporaks 대답은 매우 도움이되었습니다. – user2490669