android sqlite3 查询中文的问题
在数据库里的英文可以查询得到,但是中文就不行了,大家帮忙看看问题出现在哪
数据库里的数据是在ADB里插入的,中文数据在adb里可以查询得到,但是在程序里就不行了。
Cursor cursor=db.query("city",null,"CityA"+ "='" +"beijing" +"'",null, null, null, null);
可以查询
把beijing改为北京就没反应了,logcat也不报错 这些数据在表里一定是存在的
Cursor cursor=db.query("city",null,"CityA"+ "='" +"北京" +"'",null, null, null, null);
cursor返回count=0;
搞了几天还是没辙啊
帮忙啊 怎么办
高手给个方法啊
答案:我来试着回答你的问题
中文中的一个字需要两个byte表示
Java中的char是2个byte,1个char可以存储一个字
sqlite3中的char是1个byte,2个char存储一个字
你检查下你代码中两种类型是否兼容
你参考下这段代码
byte bytes[]=cursor.getBlob(2);
String sn=new String(bytes,"gb2312");
上一个:sqlite数据库被我不小心覆盖了,有没有办法恢复原来的数据?
下一个:在c#里使用了sqlite写的程序,在其他的机器上无法运行?