从SQLite数据库中显示unicode字符

时间:2013-01-04 09:46:24

标签: android sqlite unicode

我有一个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

1 个答案:

答案 0 :(得分:0)

在您的文字文件中,\u25CB是六个字符。

要正确使用Unicode字符,请将它们直接放入文件中:

primaryKey,name,surname,address,phone,email,●

但是,您必须确保.csv文件具有与InputStreamReader使用的编码相同的编码(设置其构造函数的第二个参数)。