0

我将一个包含 Unicode 的 CSV 文件导入到 SQLite 数据库中,但我没有看到文本,而是看到了问号。像这样, ”???”。编码是 UTF-8(我在下面提到了我尝试 UTF-16 时发生的事情)。我使用的 SQLite 管理器是 DB Browser for SQLite。

这是我输入的 Unicode:தமிழ்</p>

现在,根据Stackoverflow 中的这个答案,SQLite 将文本数据存储为 Unicode。所以我的文本是 Unicode 的事实不可能是问题。

我尝试使用的字符属于泰米尔语。我正在尝试将它与 Unicode 一起使用。根据维基百科,泰米尔语的编码称为 TACE16。它是基于 16 位 Unicode 的字符编码。

因此,当我导入 CSV 文件时,我将编码设置为 UTF-16。但是当我这样做时,导入后该文件甚至没有出现在数据库中。但它说导入成功。

然后我尝试像往常一样使用 UTF-8 编码导入 CSV 文件。但导入后我右键单击行标题,选择“设置编码”并将其设置为 UTF-16。现在它没有显示问号,但它显示了类似汉字的东西。这就是它现在显示的内容:㼿㼿。

我尝试在导入时设置 TACE16。我也尝试手动设置。但它说它要么是不正确的编码,要么是不受支持的。

进一步在网上搜索并没有发现任何东西。有人可以告诉我如何解决这个问题吗?基本上,我希望这个文本“தமிழ்”在导入包含文本的 CSV 文件后显示在 SQLite 数据库中。

太感谢了。我将衷心感谢您的帮助。

4

2 回答 2

0

我曾经遇到过类似的问题,但就我而言,问题仅出在我用来可视化数据库表的数据库软件上。您是否尝试过从数据库中检索数据?当您检索它们时它们是正确的吗?无论如何,如果您告诉我们您究竟使用什么工具来完成在您的特定情况下不可能找到解决方案的事情。

于 2018-05-06T14:04:15.740 回答
0

好的,事实证明问题出在我的 csv 文件上。我在 excel 中对其进行了编辑,我猜 excel 使用另一种编码保存了它。我仍然不确定确切的问题是什么,但我只会写一下我是如何解决它的。

我打开记事本并输入以逗号分隔的数据。我用扩展名 csv 保存了文件。这是重要的事情。您必须将编码更改为 Unicode。保存按钮左侧有一个下拉菜单。用那个。这是一个 youtube视频的链接,它向您展示了如何操作。

此外,您不需要在记事本中输入所有内容。它会变得乏味。

在 Google 电子表格中输入所有内容并将其导出下载为 CVS 文件。有用。如果您必须使用记事本,请在 Excel 中键入数据,使用公式连接每行中的所有内容,然后将其复制粘贴到记事本中。不要忘记使用 excel 中的公式在每个单元格信息之间添加逗号。

于 2018-05-06T19:51:09.663 回答