日期:2014-05-18  浏览次数:20638 次

为何blob字段中明明是中文取出却变乱码?
用的是mysql5.0,编码统一为gbk,有一张表存放文章,有标题,内容等字段,标题类型varchar,内容为blob,存入的都是中文,在mysql-front中也确实看到的都是中文,可是用hibernate进行读取时,标题正确显示为中文,内容却是乱码,怎么改变编码去读取还是显示乱码,心里非常不解,要么都是乱码,要么都是中文,明明在数据库中看到的都是中文,为何一摸一样读取出来却一个正常一个不正常呢,varchar字段和blob字段还有什么要区别对待的地方吗,还望高人指点,多谢!!

------解决方案--------------------
blob读出来的是ISO-8859-1编码,你需要转换为GBK编码才可以
Java code
String blob =...
blob = new String(blob.getBytes("iso-885901"),"GBK");