如果你使用的是JDK1.2及jdbc-odbc bridge 的话,可以这样
  data= new String(rs.getBytes(1),"gb2312");也可以直接安装jdk1.3,用其中的jdbc-odbc bridge ,就没有这个问题.

解决方案 »

  1.   

    转换一下字符集:
    data= new String(rs.getBytes(1),"gb2312");(借用一下。)
      

  2.   

    database 如果用的字符集是iso的话,写表前将中文转为ISO8859-1,读表后再转换为GBK
    由于java、jdbc默认是用Unicode的,如果你用jsp传递中文,从初始页到目标页,中文已经被转为Unicode了,就不用再做第一步了,只需要读的时候用
    String inStr=ResultSet.getString("Field");
    retStr=new String(inStr.getBytes("ISO-8859-1"),"GBK"); 就可以将Unicode转为GBK
    当然若是用在jsp里显示,还得加上
    <!-- 
    <%@ page contentType = "text/html;charset=gb2312" %> 
    -->
    就可以显示中文了
    可是若是数据库字符集是中文的话,我也没有成功过,谁要知道了,请告诉我一声
      

  3.   

    我用的是oracle的数据库及oracle的jdbc,然后用jini调用的,数据库中有人的名字,做ejb的时候取出的老是乱码,在jsp中我知道怎么解决,但是ejb中搞不定,那位高手可以教教我。听说用jdk1.3可以不用转换,是不是真的。