2016-09-14 3 views
-1

Я пытаюсь импортировать .dat text file в том числе и древнееврейских и английские символы в программу Java с помощью Eclipse, неон 4.6.0: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|בְּרֵ×ש×ִ֖ית ×‘Ö¼Ö¸×¨Ö¸Ö£× ×Ö±×œÖ¹×”Ö´Ö‘×™× ×ֵ֥תהַש×Ö¼Ö¸×žÖ·Ö–×™Ö´× ×•Ö°×ֵ֥ת ×”Ö¸×ָֽרֶץ׃

Фактически, сам файл изменяется на тарабарщину - при просмотре в блокноте после запуска программы символы каким-то образом изменились.

У меня была версия моей программы, работающей на Android в AIDE, которая работала и не имела этой проблемы. Является ли Eclipse излишним форсированием конкретной бесполезной кодировки?

+0

Проверьте выходную кодировку вашего терминала. – chrylis

+0

Как вы читаете файл? Вы указали набор символов? Старые читатели/писатели, основанные на файле 'File', по умолчанию используют набор символов по умолчанию JVM, в то время как новые читатели/писатели, основанные на« Path », по умолчанию используют UTF-8. Какова фактическая кодировка самого файла * input *? Какая кодировка вы хотите в * output * файле? – Andreas

+1

Используйте конструктор InputStreamReader, который принимает явный набор символов и использует соответствующий набор символов для рассматриваемого файла. –

ответ

0

Согласно this answer, вам необходимо установить кодировку проекта в UTF-8. Лучший способ сделать это, если вы будете работать над другими проектами, связанных с еврейскими буквами, чтобы изменить кодировку для вашего рабочего пространства:

  1. Перейти к Window Menu -> Preferences -> General -> Workspace

2 .: UTF-8 encoding setting in the bottom left corner

Это позволит вашей программе загружать символы на иврите, поскольку кодировка UTF-8 включает символы на иврите.

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