Select 来自 sqlite 数据库的日语字符

Select japanese character from sqlite database

我使用 java 从 Edict 文件创建了一个数据库,并用于该 SQLite。

SQLite 默认以 UTF-8 编码字符串

这是数据库的示例:sample

如果我这样做

Select* FROM entry 

在 Java 中,我得到了 "correct" 形式的日语单词(至少是图形表示)。

但如果我尝试去做。

Select * FROM entry WHERE wordJP LIKE '食べる'"

我显然一无所获。这使得很难找到一个词的定义。

谁能解释为什么会这样,如何解决? 我有点理解这是编码问题,但我不明白它发生在哪里以及为什么。

来自你的link,

[EDICT] is a plain text document in EUC-JP coding.

如果查询字符串是UTF-8编码的,匹配会失败。

填写sqlite数据库时,您可能应该尝试将数据库转换为UTF-8。

所以我设法解决了这个问题:

  • 使用 linux 中的 iconv 将文件从 EUC-JP 编码为 UTF-8
  • 将 SQLITE 设置为 UTF-8
  • Java 本来应该是 UTF-8,但 Eclipse 默认将其放在某些 ISO-xxx 代码中,因此您需要通过右键单击您的项目 > 属性 > 文本来更改它文件编码 > 其他(滚动列表)