我正在开发一个使用SQLite作为后端的Android应用程序。
我想确保数据库中的所有表都使用UTF-8。我怎样才能做到这一点?
我试过了:
CREATE TABLE myTable (_all_columns_definitions_) DEFAULT CHARSET=utf8;
但出现语法错误。
答案 0 :(得分:19)
鉴于sqlite仅支持UTF-8和UTF-16作为编码,你会注意到Android是否会以UTF-8以外的方式创建数据库。 sqlite3_open默认以UTF-8创建数据库,这就是Android可能使用的。
答案 1 :(得分:3)
您需要使用encoding PRAGMA
:
PRAGMA encoding = "UTF-8";
答案 2 :(得分:1)
默认情况下,Android SQLite使用UTF-8。 我对特殊字符有同样的问题,但因为当我在第一次启动时填充数据库时,我使用了另一个字符集的txt文件。