хранить не английский текст в sqlite - PullRequest
2 голосов
/ 17 января 2011

Я хочу хранить данные Unicode в моей базе данных. На самом деле это 4-строчные стихи текста в sanskrit.coz. Я новичок в программировании БД, я не знаю, как сохранить свой язык в БД. Я прочитал некоторыеинформация на форумах, но я не уверен, что храню свои данные в db
надеюсь, что кто-нибудь поможет мне здесь
заранее спасибо
baran

Ответы [ 2 ]

1 голос
/ 17 января 2011

Если вы создаете свою базу данных, используя sqlite3_open, тогда она кодируется в UTF-8, или если вы используете sqlite3_open16 для создания, тогда она кодируется в UTF-16. Это первое, о чем вы должны заботиться.

И, если вы пытаетесь записать строку в кодировке UTF-8 в базу данных в кодировке UTF-16, вам потребуется простой конвертер MBCS в UNICODE. или наоборот. Тогда ответ brofield действителен.

1 голос
/ 17 января 2011

Если вы используете sqlite C API, убедитесь, что данные представлены в формате UTF-8 или UTF-16, а затем свяжите их, используя sqlite_bind_text или sqlite_bind_text16.

См. http://sqlite.org/cintro.html для ознакомления с использованием API.В частности, «1.1 Типичное использование основных подпрограмм и объектов».См. http://sqlite.org/c3ref/bind_blob.html для ссылки на функцию.

Например, что-то вроде:

const char sql[] = "INSERT INTO table (mytext) VALUES (?, ?);";
sqlite3_prepare_v2(db, sql, -1, &stmt, NULL)
sqlite3_bind_text(stmt, 1, myutf8text, -1, NULL)
sqlite3_step(stmt)
sqlite3_finalize(stmt)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...