SQLiteQueryBuilder; cursor.getString() 去除字符的重音

问题描述 投票:0回答:0

cursor.getString() 有问题。它去除了他们重音的单引号和重音字符。
示例:Mary Anning 的蛇颈龙 -> Mary Annings Plesiosaur
Ki Te Ao Mārama -> Ki Te Ao Marama
这些字符串在 SQLite 数据库和 iOS 应用程序中有效,我已经正确读取了它们。
这是 java String 或 SQLiteQueryBuilder/Cursor 的限制吗?
有没有办法解决它,或者我必须降低级别?
getBlob() 返回 ascii 码。

SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

qb.setTables("art");
cursor = qb.query(artDB, new String[] {"name"}, null, null, null, null, null);
if (cursor == null) { closeDatabase(); return names;}
if (cursor.getCount() > 0) {
    cursor.moveToFirst();
    String s;
    do {
        s = cursor.getString(0);
        byte[] b = cursor.getBlob(0);
        String r = new String(b, StandardCharsets.);
        names.add(s);
    } while (cursor.moveToNext());
}
cursor.close();
java android-sqlite
© www.soinside.com 2019 - 2024. All rights reserved.