用微软的jdbc驱动,我也碰到这种情况,取出来的中文全部都是?号,写进数据库去的也是乱码。可以以下处理:
从数据库中读出数据String str是乱码的,可以如下转:
str=new String (str.getBytes("ISO-8859-1"),"gb2312");
若写入数据库数据,在数据库里面显示乱码的,在写入数据库前转:
str=new String (str.getBytes("gb2312"),"ISO-8859-1");
==============================================================
如上所言,并非完全正确,请从建议的角度、用怀疑的眼光批判地接收
从数据库中读出数据String str是乱码的,可以如下转:
str=new String (str.getBytes("ISO-8859-1"),"gb2312");
若写入数据库数据,在数据库里面显示乱码的,在写入数据库前转:
str=new String (str.getBytes("gb2312"),"ISO-8859-1");
==============================================================
如上所言,并非完全正确,请从建议的角度、用怀疑的眼光批判地接收
我这么做开始的时候还是正确的,后来就出错了。后来我找到了原因,原来库中的数据读出来是正确的(当然经过了转换)
但是手工在JBUILDER的DATA PILOT中把数据改成中文后,读出的又是乱码了。
TNND,为什么MS的狗屁东西这么差
我用jb只载入驱动就行,无须做其它复杂的设置,读出转换后显示正常