从Android中的SQLite数据库中获取德语字符

时间:2014-03-20 06:41:16

标签: android sqlite utf-8

我在使用Android从我的SQLite数据库中获取“特殊”/德语字符(即“öäüß”)时遇到了困难。

我正在使用SQLiteOpenHelper类来访问数据库,字符显示为空格或矩形。

我可以在命令行中选择字段并正确显示,所以我假设它们存储正确吗?但是,我使用了许多GUI SQLite客户端(SQLite数据库浏览器,sqliteman,Firefox的SQLite客户端),并且没有一个成功地正确显示字符,所以这看起来很奇怪,但真正的问题是他们没有在我的应用中正确显示。

我尝试添加:
System.setProperty("file.encoding", "UTF-8")

System.setProperty("file.encoding", "ISO-8859-1")

我不完全确定这意味着什么,但我在相关帖子中看到了它,所以我会把它包括在内:
SELECT hex('ä');返回84SELECT typeof(data)返回text

非常感谢!

1 个答案:

答案 0 :(得分:0)

84不是ä的正确UTF-8编码。

Windows命令提示符不能正确支持UTF-8。 如果您从那里输入数据,编码将是错误的。

使用.read命令从UTF-8编码的文件中读取数据,或使用任何正确处理UTF-8的GUI工具输入数据。