SQLite 中文查询 出现错误,查询结果为0

剑麟 发布于 2013/04/20 01:11
阅读 1K+
收藏 1

        我有个图书数据库,里面的书名为中文,当我在android中进行 rawQuery 查询时,查询到的结果却为0个,为什么会这样子?

         在网上找了很多都找不到答案,纠结啊!

          以下是我的查询代码:

String bookName = "新手学Java 7编程[专著]";
Cursor bookInfoCursor = database.rawQuery("SELECT * FROM book WHERE bookName='"+bookName+"';", null);
Log.i("BOOKNAME", bookInfoCursor.getCount()+"");
Log 里输出的结果为 0.


加载中
0
dodola
dodola
SQL语句没有错,你确定数据库里有  新手学Java 7编程[专著] 这条数据么?
剑麟
剑麟
我用 sqliteman 进行中文查询时,总是会提示弹出一堆英文,查询不了
剑麟
剑麟
有,我是照数据库里的记录来测试查询的。
0
心有未来
心有未来
最好看下编码是否有问题
心有未来
心有未来
回复 @剑麟 : 你先用android-sdk\tools\sqlite3.exe 看看里面的数据是否存在中文乱码?
剑麟
剑麟
怎样看?听说要修改编码,但我不知道怎样修改?
0
蜡笔小春
蜡笔小春
sqlite好像只支持unicode编码,你把中文字符串转一下编码试试
0
剑麟
剑麟
@蜡笔小新 @心有未来 ,我用 SQLiteManger 查看数据库,可以正常查看数据库里的内容,然后我看数据库的编码类型为:UTF-8.
剑麟
剑麟
有吖,我是在android开发中测试数据库查询。
心有未来
心有未来
你直接用sqlite3,看有没有你要的数据。
0
ydww
ydww
不好意思,刚才看到。应该就是和前面他们说的一样,表里面没这行数据,或者编码问题。
0
剑麟
剑麟

现在应用中终于可以中文查询了,

但是不知道为什么,在 SQLiteMan 里却不可以中问模糊查询?

返回顶部
顶部