最近两天碰到一个比较无语的问题:
Sqlite在查询含中文字符的条目的适合死活查不到结果,于是到网上查了下解决方案:
1、说是编码问题Android是utf-8的,于是试着转换传入字符编码和取出字符编码。结果还是不行
2、可能语法错误,于是调整各种实现方式,结果还是不行
比如:
String sql = "select * from ? where taskName like '%跑步%'";
Cursor cursor = sqlData.rawQuery(sql, null);
再比如:
String sql = "select * from ? where taskName = ?";
Cursor cursor = sqlData.rawQuery(sql, new String[]{"'跑步'"});
还比如:
Cursor cursor = sqlData.query("category", null, "taskName = '", null, null, null, new String[]{category + "'"});
反正各种花样都玩遍了,都是没结果
最后:
调整成这样,终于有结果了,我勒个去,泪牛满面。。。什么鬼!
Cursor cursor = sqlData.query("category", null, "taskName = '" + "跑步" + "'", null, null, null, null);