当前位置: 代码迷 >> Android >> 数据库中取数据后中文乱码解决方案
  详细解决方案

数据库中取数据后中文乱码解决方案

热度:76   发布时间:2016-05-01 11:19:43.0
数据库中取数据后中文乱码
打开数据代码如下:
dbm = new DBManager(this.mContext);
dbm.openDatabase();
db = dbm.getDatabase();

查询省份
String sql = "select * from province";  
Cursor cursor = db.rawQuery(sql,null);  
cursor.moveToFirst();

取数据
 byte bytes[]=cursor.getBlob(2); 
 String name=new String(bytes,"gb2312");
 Log.i(DEBUG_TAG, "name = "+name);

这时,每次打印中出现的字符串后面都带有两个框框乱码,比如正常要输出“河北省”,但是输出“河北省??”,导致后续传递数据库命令时报错。

String sql = "update savedCity set name='" + name+ "'" + ", cityId='" + cityId + "' where key='save'";   
Cursor cursor = db.rawQuery(sql,null);
  
求高手解答。

------解决方案--------------------
province表为什么要用Blob类型的name字段呢?

其实,如果你知道得到的name总是多两个字符,用substring删除不就行了。
  相关解决方案