我有一个使用方法s.next()的扫描仪; (它读出整个单词以“”分隔) 它可以用英文字母和单词很好地工作,但是当我用希伯来语写一些东西时,它会返回“??”代替。
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
答案 0 :(得分:1)
嗯,实际上使用UTF-8编码就像在评论中提到的一样,只有我必须使用eclipse之外的记事本创建data.txt并用UTF-8编码而不是ANSI保存(默认)我只是简单地将它导入eclipse中的原始文件夹,单击运行并且它工作。 MAGIC。
我想我的错误是从eclipse里面创建了data.txt。