解决方案 »
- android手机与电脑远程连接问题
- Android模拟器的webview问题,折磨了好几天了,求助大侠们啊。。
- Android播放rtsp协议视频的问题
- 2.2下面开发的应用,能够被2.3或更新的系统兼容么?
- 关于在Notification跳转到activity的问题
- ContentResolver 如何读取本地图片(非SD卡)
- DishInfo在哪个包?
- 有关Menu的问题咨询
- 打开eclipse layout-1920x1080目录下的所有xml都打不开,报下面的错误。 eclipse版本4.2.0
- 利用viewPager实现底部导航,各个layout的对应方法如何同时实现
- 闹钟标签重新设置后,闹铃时确没有更新,请高手帮忙。
- android客户端与pc服务端通信?
我这样做有何不妥啊?读出来是乱码。
//更新数据库
String name = editNewRoomName.getText().toString() ;
try {
byte[] val = new byte[name.length()];
val = name.getBytes("GBK");
name=new String(val,"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}
String valueStr = “room_name='"+name+ "';";
sql = "update " + tableName + " set " + valueStr + " where room_id = "+ actM.getRoomID()+";";
……
……
myDataBase.execSQL(sql);
……
……
……
//读取数据库
room.setRoom_name(new String(cur.getBlob(2),"GBK").trim());sqlite是UTF-8编码,android是GBK编码,所以正常读取的时候,将读取的数据通过GBK转码过来,在android中使用都是正常的,但是更新数据库时,将GBK再转码成UTF-8再写入,再按前面的方式读出来就不正常了,出现了乱码;如果直接用GBK编码写入,再用GBK编码读出,虽然存储是UTF-8编码,也应该是正常的,但是由于数据库不止我一个平台操作,而其他平台均为UTF-8编码格式操作,因此,必须要转码写入,可是为什么转码存储不成功呢?