用微软的jdbc驱动,我也碰到这种情况,取出来的中文全部都是?号,写进数据库去的也是乱码。可以以下处理:
从数据库中读出数据String str是乱码的,可以如下转:
str=new String (str.getBytes("ISO-8859-1"),"gb2312");
若写入数据库数据,在数据库里面显示乱码的,在写入数据库前转:
str=new String (str.getBytes("gb2312"),"ISO-8859-1");
==============================================================
如上所言,并非完全正确,请从建议的角度、用怀疑的眼光批判地接收

解决方案 »

  1.   

    alphazhao(绿色咖啡) 说的对,不论读写汉字都需要转码
      

  2.   

    你们讲的都有道理,
    我这么做开始的时候还是正确的,后来就出错了。后来我找到了原因,原来库中的数据读出来是正确的(当然经过了转换)
    但是手工在JBUILDER的DATA PILOT中把数据改成中文后,读出的又是乱码了。
    TNND,为什么MS的狗屁东西这么差
      

  3.   

    那这就可能是你使用jb设置的问题了
    我用jb只载入驱动就行,无须做其它复杂的设置,读出转换后显示正常