我用纯JAVA驱动程序访问数据库 执行select * from gl
语句时 如果返回数据是汉字的话就显示乱码!
是数字和字母都没问题! 如果要正常显示数据库中的汉字该怎么办
帮忙解决一下!小弟在线等!谢谢!                   Connection conn=null;
             PreparedStatement pst=null;
             ResultSet rs=null;
          try{
             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
             String url ="jdbc:microsoft:sqlserver://192.168.0.66:1433;DatabaseName=KK";
             conn=DriverManager.getConnection(url,"sa","");
             pst=conn.prepareStatement("select * from gl");
             rs=pst.executeQuery();
             while(rs.next())
             {
                jTextField1.setText(rs.getString("xb"));//这里返回显示的是乱码
             }
             conn.close();
             }catch(Exception k){
             k.printStackTrace();
             }

解决方案 »

  1.   

    jTextField1 设置为宋体字型 你设置了没有?
      

  2.   


    要进行编码转换,如下:
    goFields=new String(goFields.getBytes("ISO8859_1"),"UTF-8");
      

  3.   

    怎么进行编码转换
    我是刚学JAVA的还不太会 你能按照我的代码该怎么转啊
    jTextField1.setText(rs.getString("xb"));//这里返回显示的是乱码
      

  4.   

    xb=new String(xb.getBytes("ISO8859_1"),"GBK");jTextField1.setText(rs.getString("xb"));
      

  5.   

    我晕啊....你是不是搞乱了?还是用jTextField1.setText(rs.getString("xb"));这时候不是又读数据库了吗?直接jTextField1.setText(xb)就行了吧....
      

  6.   

    jTextField1.setText(new String (rs.getString("xb").getBytes("ISO8859_1"),"GBK")  );