从sqlite数据库中选择日语字符

时间:2018-05-20 14:35:38

标签: java sqlite character-encoding cjk

我用Edict文件创建了一个带有java的数据库,我用于那个SQLite。

默认情况下,SQLite以UTF-8

编码字符串

以下是数据库的示例:sample

如果我这样做

Select* FROM entry 

在Java中,我在他们的"正确"中得到日语单词。形式(至少图形表示)。

但如果我尝试做的话。

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

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

有人可以解释为什么会发生这种情况,以及如何解决这个问题? 我有点明白这是一个编码问题,但我不明白它发生的地方和原因。

2 个答案:

答案 0 :(得分:1)

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

  • 使用linux中的iconv将文件从EUC-JP编码为UTF-8
  • 将SQLITE设置为UTF-8
  • Java应该是原生的UTF-8,但是eclipse默认将它放在一些ISO-xxx版本上,所以你需要通过右键单击你的项目来改变它>属性>文本文件编码>其他(滚动列表)

答案 1 :(得分:0)

从您的链接

  

[EDICT]是EUC-JP编码中的纯文本文件。

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

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