5

我试图从 csv 文件创建一个 sqlite 数据库。我按照此页面中的说明进行操作:在 android 中使用您自己的 sqlite db,并且:将 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
4

2 回答 2

3

sqlite supports UTF-8, UTF-16 and this is quite enough to store arabic or persian.

Most probably you get "_" because the import tool expects different charset than the charset of your original file.

于 2013-01-08T19:06:34.817 回答
1

直到 4.0 版的 Android 不支持波斯语/波斯语,但这里列出的一些内容可能会对您有所帮助。

我还遇到了这个关于 SQL 中波斯数字的 stackoverflow 问题,尽管我不确定这是否会有所帮助。

我发现了一个与您类似的问题:C# - Sqlite 数据库是否支持波斯语/阿拉伯语编码? 这似乎给出了一个不幸的否定答案:

简而言之:没有。

SQLite 只支持非常非常有限的编码:UTF-8 和 UTF-16(多种)。

幸运的是,UTF-8 非常适合表达阿拉伯语或波斯语,或任何其他语言(包括克林贡语,如果你喜欢的话)。

当然,您的工具链的某些其他部分可能会弄乱编码,请检查 C#.net SQLite 包装器的文档和您的表单代码。

于 2012-12-13T15:38:11.800 回答