Убедитесь, что SQLite на Android использует UTF-8 в качестве кодировки - PullRequest
15 голосов
/ 25 ноября 2010

Я разрабатываю приложение для Android, используя SQLite в качестве бэкэнда.

Я хочу убедиться, что все таблицы в базе данных используют UTF-8. Как мне этого добиться?

Я пробовал:

CREATE TABLE myTable (_all_columns_definitions_) DEFAULT CHARSET=utf8;

но возникла синтаксическая ошибка.

Ответы [ 3 ]

19 голосов
/ 25 ноября 2010

Учитывая, что sqlite поддерживает только UTF-8 и UTF-16 в качестве кодировок, вы бы заметили, если бы Android создавал базы данных не в UTF-8. sqlite3_open по умолчанию создает базу данных в UTF-8, и именно это, вероятно, будет использовать Android.

3 голосов
/ 25 ноября 2010

Вам необходимо использовать encoding PRAGMA:

PRAGMA encoding = "UTF-8";
1 голос
/ 29 июня 2011

По умолчанию Android SQLite использует UTF-8.У меня была та же проблема со специальными символами, но потому что, когда я заполнял базу данных при первом запуске, я использовал текстовый файл с другой кодировкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...