我的android应用程序中有一个sqlite数据库,其中所有表都是虚拟的,因为我需要对整个表进行快速搜索。我还使用SQLiteOpenHelper的扩展类来打开我的数据库。
这里是我使用的表创建示例:
CREATE VIRTUAL TABLE person USING fts3(firstName VARCHAR(50), lastName VARCHAR(50))
只要我插入的每个文字都是拉丁字符,一切都很好。不幸的是,每当我尝试插入一些西里尔字符时,我会在西里尔字符附近得到一个SQLiteException,它表示语法错误。
示例:
INSERT INTO person (firstName, lastName) VALUES ('John','Россия')
android.database.sqlite.SQLiteException: near "Россия":
syntax-error: INSERT INTO person (firstName, lastName) VALUES ('John','Россия')
据我所知,SQLite使用utf-8作为标准。 我已经尝试过不使用fts3(没有虚拟表),但结果是一样的。
有人可以帮助我找出我错过的将西里尔文本插入我的数据库吗?