sqlite3查询结果有中文会乱码,用 new String(str,"gb2312")可以转成中文
但我用中文关键字查询却查不出任何结果,用数字或字母却可以查出,请问如何解决?

解决方案 »

  1.   

    用用 new String(str,"gb2312")可以转成中文,说明存在sqlite中的不是utf8编码的中文字符串,那就把数据库中的数据都转换为UTF8
      

  2.   

    请问如何转呢,我觉得sqlite数据库应该是utf8的吧,是我的关键字编码不一样吧
      

  3.   

    手机用的是gb2312。sqlite里是UTF-8.
      

  4.   

    写sqlite3的数据用sql方式插入即可,如:insert a values("中文");
    这样再查询中文就没有乱码了。
      

  5.   

         SQLiteDatabase database = openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
         //"select Tname,Tphone from Teacher;"
         Cursor cursor = database.query(TABLE,
         new String[]{COLUMN_ID+" AS _id",COLUMN_NAME,COLUMN_INFO},
         null, null, null, null, null);
         SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
         R.layout.item_row, 
         cursor,
         new String[]{COLUMN_NAME,"_id",COLUMN_INFO},
         new int[]{R.id.item_name,R.id.item_info,R.id.item_id});
         setListAdapter(adapter);
    我的查出来的列表中,中文也是乱码!呜呜