Eclipse Java在文件中导入奇怪的非希伯来字符而不是希伯来语 - 编码问题?

时间:2016-09-14 21:26:10

标签: java eclipse character-encoding hebrew

我正在尝试使用Eclipse Neon 4.6.0将包含希伯来语和英语字符的.dat text file导入到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是否会不必要地强制进行特定的无用编码?

1 个答案:

答案 0 :(得分:0)

根据this answer,您需要将项目编码设置为UTF-8。如果您要处理涉及希伯来字符的其他项目,最好的方法是更改​​工作区的编码:

  1. 转到Window Menu -> Preferences -> General -> Workspace
  2. 2:UTF-8 encoding setting in the bottom left corner

    这将允许您的程序加载希伯来字符,因为UTF-8编码包含希伯来字符。