Android:尝试用英语以外的其他语言阅读单词

时间:2012-12-26 20:34:00

标签: android java.util.scanner

我有一个使用方法s.ne​​xt()的扫描仪; (它读出整个单词以“”分隔) 它可以用英文字母和单词很好地工作,但是当我用希伯来语写一些东西时,它会返回“??”代替。

My Phone确实有希伯来语,我的应用程序中的所有其他字符串都是希伯来语,只有扫描仪读取的内容才会返回?????。

任何帮助? 谢谢:))

扫描仪代码:(它是asynctask的一部分)

@Override
    protected Void doInBackground(CharSequence... txt) {
        Scanner s = new Scanner(getResources().openRawResource(R.raw.data));
        try {
            boolean add;
            do { 
                add = false;
                ListItem temp = new ListItem();
                temp.data[ListItem.NAME] = s.next();
                Log.i("AsyncTask", temp.data[ListItem.NAME]);
                if (temp.data[ListItem.NAME].contains(txt[0])) {
                    Log.i("match", "found");
                    add = true; 
                }
                temp.data[ListItem.MAKAT] = s.next();
                Log.i("AsyncTask", temp.data[ListItem.MAKAT]);
                if (temp.data[ListItem.MAKAT].contains(txt[0])) {
                    add = true; 
                }
                temp.data[ListItem.JHAZIT] = s.next();
                temp.data[ListItem.KOMA] = s.next();
                temp.data[ListItem.MESPAR] = s.next();

                if (add) {
                    this.publishProgress(temp);
                }
            }
            while (s.hasNext());

        }
        finally {
            s.close();
        }
        return null;
    }

我拿出信息的文件名为data.txt:

  

Barrel 4315124 2 3 43
  汽车414124 2 4 41
  Red_box 4315124 1 2 77
  Glass_cup 4515124 4 7 10
  Iron_cup 4515124 4 7 9
  Gabi_Noob 5717217 7 8 9   מכסה_גומי46245897235 8 9 10

1 个答案:

答案 0 :(得分:1)

嗯,实际上使用UTF-8编码就像在评论中提到的一样,只有我必须使用eclipse之外的记事本创建data.txt并用UTF-8编码而不是ANSI保存(默认)我只是简单地将它导入eclipse中的原始文件夹,单击运行并且它工作。 MAGIC。

我想我的错误是从eclipse里面创建了data.txt。