База данных sqlite на персидском языке

Я пытался создать базу данных sqlite из CSV-файла. Я сделал это, как сказано на этой странице: с помощью вашей собственной базы данных sqlite в Android и это: импорт CSV в SQLite

но проблема в том, что таблица содержит данные на фарси / арабском языке. sqlite показывает этот символ как "_". что я должен делать?

PS. Я хочу использовать эту БД в проекте Android.

редактировать: я импортирую CSV в SQLite, используя этот код:

CREATE TABLE "android_metadata"("locale" TEXT DEFAULT 'en_US');
CREATE TABLE "addresses"(_id integer PRIMARY KEY,
nametext, meaning text);
.separator ","
.import test.csv mydb

2 ответа

Решение

sqlite поддерживает UTF-8, UTF-16, и этого вполне достаточно для хранения арабского или персидского языков.

Скорее всего, вы получите "_", потому что инструмент импорта ожидает другую кодировку, чем кодировка вашего исходного файла.

Персидский / фарси не поддерживается в Android до версии 4.0, но есть некоторые вещи, которые могут вам помочь, перечисленные здесь.

Я также натолкнулся на этот вопрос о стековом потоке о персидских числах в SQL, хотя я не уверен, что это поможет вообще.

Я нашел вопрос, похожий на ваш: C# - База данных Sqlite поддерживает персидское / арабское кодирование? и это, кажется, дает, к сожалению, отрицательный ответ:

Короче говоря: нет.

SQLite поддерживает только очень и очень ограниченное количество кодировок: UTF-8 и UTF-16 (несколько разновидностей).

К счастью, UTF-8 идеально подходит для выражения арабского, персидского или любого другого языка (включая клингонский, если вас захватит фантазия).

Конечно, возможно, что какая-то другая часть вашего набора инструментов запутывает кодировку, проверьте документацию для оболочки SQLite для C#.net и ваш код Forms.

Другие вопросы по тегам