Как создать базу данных SQLite в кодировке UTF-8

Я разрабатываю приложение для Магазина Windows (С#) с использованием базы данных SQLite.

Проблема

Если у меня есть специальные символы в строке, такие как «qwerôty», когда мое приложение извлекает это значение, строковый объект содержит «qwerty» (без этого специального символа).

Создание базы данных

Я создаю свою базу данных с помощью утилиты sqlite3, затем пишу все свои запросы (создание таблицы, вставка в...) в файл (в кодировке UTF-8) и копирую и вставляю все запросы в команду подсказка sqlite3.

Когда я делаю выбор * из таблицы, я вижу "qwerôty", но однажды в моем приложении строка не содержит "ô".

Код в приложении

Вот как я извлекаю свои данные из базы данных SQLite:

private SQLiteAsyncConnection conn = new SQLiteAsyncConnection(DbPath);
return await conn.Table<BusinessObject>().ToListAsync();

Строковое свойство находится в объекте BusinessObject.

Мое предположение

Я думаю, что файл sqlite, который я создаю с помощью sqlite3, не закодирован в UTF-8. Когда я открываю его с помощью встроенного блокнота Windows и делаю «сохранить как», выбранная кодировка — ANSI. Но я не могу найти, как создать базу данных в кодировке UTF-8.

Если у вас есть какие-либо идеи о моей проблеме, заранее спасибо.

Рафи


person Rafi Panoyan    schedule 20.08.2013    source источник
comment
Я только что попытался заполнить свою базу данных с помощью SQLiteSpy, и все специальные символы хорошо читаются из моего приложения. Таким образом, я подумал, что проблема связана с инструментом sqlite3, но у меня нет реального объяснения. Я оставлю этот пост без ответа, пока кто-нибудь не найдет вескую причину. Спасибо, Рафи.   -  person Rafi Panoyan    schedule 20.08.2013
comment
Блокнот текстовый (декодированный) сохранение как кодировка я думаю только для сохранения.   -  person paparazzo    schedule 20.08.2013


Ответы (1)


Проблема возникла из Блокнота, как заявили Папарацци.

person Rafi Panoyan    schedule 28.09.2016