我有一个listView,它由来自SQLite数据库的数据填充。我的一个字段是一个标记,其中包含一个完整圆圈的unicode字符:\ u25cf或开圆圈:\ u25cb。当我在文本字段中使用硬编码字符串时,两个字符都会正确显示。但是,在我的listView中,我看到的是文本编码而不是字符。
有谁知道这是为什么......以及如何显示unicode字符?
感谢。
更新
插入代码是
private void loadRecords() throws IOException {
final Resources resources = mContext.getResources();
InputStream inputStream = resources.openRawResource(R.raw.records);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String line;
while ((line = reader.readLine()) != null) {
String[] strings = TextUtils.split(line, ",");
if (strings.length <2) continue;
long id = addRecord(strings[0].trim(),strings[1].trim(),strings[2].trim(),strings[3].trim(),
strings[4].trim(),strings[5].trim(),strings[6].trim());
}
} finally {
reader.close();
}
}
资源是csv文件,其中一行是例如
primaryKey,name,surname,address,phone,email,\u25CB
答案 0 :(得分:0)
在您的文字文件中,\u25CB
是六个字符。
要正确使用Unicode字符,请将它们直接放入文件中:
primaryKey,name,surname,address,phone,email,●
但是,您必须确保.csv文件具有与InputStreamReader
使用的编码相同的编码(设置其构造函数的第二个参数)。