2015-01-31 3 views
1

내 실제 파일 이름은 "парламент.xls"입니다.Java에서 cyrilic 언어 문자를 가져 오는 중 오류를 해결하는 방법

그러나 동일한 파일 이름을 java에 가져올 수 없습니다. ???????와 같은 이상한 것이 있습니다. xls 비 라틴어 단어 및 문자에 문제가 있습니다. 실제 파일 이름을 변경하지 않고 사용하는 방법.

나는 내 편에서 노력했다. 내 아래 코드를 참조하십시오 :

String escaped_source = StringEscapeUtils.escapeJava(filename); 
String encoded = new String(filename.getBytes("UTF-16"), "ISO-8859-1"); 
System.out.println("escaped_source------------>"+escaped_source); 
System.out.println("encoded------------>"+encoded); 
String abc = StringEscapeUtils.unescapeJava(escaped_source); 
System.out.println("abc------------>"+abc); 

출력 : escaped_source를 ------------

>\u043F\u0430\u0440\u043B\u0430\u043C\u0435\u043D\u0442.xls 
encoded------------>þÿ[email protected];0<5=B 
abc------------>?????????.xls 

이 문제를 해결하는 데 도움이 바랍니다.

+0

파일 이름 바꾸기가 가장 쉬운 해결 방법입니다 – tung

답변

0

System.out은 플랫폼 인코딩을 사용합니다. 이 질문은 이미 답변되었습니다 here

+1

중복 된 것으로 링크하지 마십시오. 중복 된 것으로 표시하십시오. –

+0

사실이 파일 이름을 문자열 변수에 저장하여 함수에 전달해야합니다. 어떻게이 파일 이름을 변경하지 않고 저장할 수 있습니까? 위의 해결 방법은 콘솔에서만 인쇄 할 수 있습니다. 그래서 문자열 변수에 정확한 파일 이름을 저장하는 방법 ??? – Varun

관련 문제