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();