我尝试从csv文件创建一个sqlite数据库。我按照此页面中的说法完成了此操作:using your own sqlite db in android和此:import csv to sqlite
但问题是当表包含波斯语/阿拉伯语的数据时。 sqlite将该字符显示为“_”。 我该怎么办?
PS。我想在android项目中使用这个DB。
编辑: 我使用以下代码将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
答案 0 :(得分:3)
sqlite支持UTF-8,UTF-16,这足以存储阿拉伯语或波斯语。
很可能你会得到“_”,因为导入工具需要不同的字符集而不是原始文件的字符集。
答案 1 :(得分:1)
Android 4.0版本不支持波斯语/波斯语,但有些内容可能会帮助您列出here。
我在SQL中也遇到过关于波斯语数字的this stackoverflow question,但我不确定它会有什么帮助。
我发现了一个与你类似的问题:C# - Does Sqlite database support persian/arabic encoding? 这似乎给出了一个不幸的否定答案:
简而言之:否。
SQLite仅支持非常非常有限的编码:UTF-8和UTF-16(多种)。
幸运的是,UTF-8完全适合表达阿拉伯语或波斯语,或任何其他语言(包括克林贡语,如果想要抓住你的话)。
当然,工具链的其他部分可能会破坏编码,检查C#.net SQLite包装器的文档以及表单代码。