내가 이클립스 네온 4.6.0 사용하여 자바 프로그램으로 히브리어와 영어 문자를 포함 .dat text file 가져 오기 위해 노력하고있어 : 어떤 이유Eclipse Java는 파일에서 히브리어 대신 이상한 비 히브리어 문자를 가져옵니다. 인코딩 문제는 무엇입니까?
String[] getFile(String path) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(this.getClass().getResource("../../../t3utf.dat").openStream()));
String l;
String[] dataFile = new String[23213]; //Does java have push and pop or auto expanding lists?
int c = 0;
while ((l = in.readLine()) != null) {
dataFile[c] = l;
c++;
}
return dataFile;
}
을, 히브리어 문자는 임의의 횡설수설로 대체되고있다 :
는 원본 :
새로운 기능 : : 프로그램이 한 번 실행 gen|1|1|בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃
되면, 모든 히브리어 문자가 횡설수설로 대체됩니다 gen|1|1|בְּרֵ×ש×ִ֖ית ×‘Ö¼Ö¸×¨Ö¸Ö£× ×Ö±×œÖ¹×”Ö´Ö‘×™× ×ֵ֥תהַש×Ö¼Ö¸×žÖ·Ö–×™Ö´× ×•Ö°×ֵ֥ת ×”Ö¸×ָֽרֶץ׃
실제로 파일 자체가 횡설수설로 바뀝니다. 프로그램을 실행 한 후 메모장에서 볼 때 문자가 어떻게 든 변경되었습니다.
저는 AIDE의 Android에서 실행되는 프로그램 버전을 가지고 있으며이 문제는 없었습니다. Eclipse가 불필요하게 특정 쓸데없는 인코딩을 강제합니까?
터미널의 출력 인코딩을 확인하십시오. – chrylis
파일을 어떻게 읽나요? 문자 집합을 지정 했습니까? 기존의'File' 기반 리더/라이터는 JVM 디폴트 캐릭터 세트를 디폴트로하고, 새로운'Path'베이스의 리더/라이터는 디폴트는 UTF-8입니다. * input * 파일 자체의 실제 인코딩은 무엇입니까? * 출력 * 파일에서 원하는 인코딩은 무엇입니까? – Andreas
명시 적 문자 집합을 취하는 InputStreamReader 생성자를 사용하고 문제의 파일에 적절한 문자 집합을 사용합니다. –