此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【taige5555】截止到2008-07-22 23:15:39的历史汇总数据(不包括此帖):
发帖的总数量:22                       发帖的总分数:340                      每贴平均分数:15                       
回帖的总数量:26                       得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:20                       结贴的总分数:300                      
无满意结贴数:5                        无满意结贴分:80                       
未结的帖子数:2                        未结的总分数:40                       
结贴的百分比:90.91 %               结分的百分比:88.24 %                  
无满意结贴率:25.00 %               无满意结分率:26.67 %                  
值得尊敬

解决方案 »

  1.   

    不好意思,昨晚电脑死机了,剩下烂摊子放在这里!通过如下的配置来连接数据库:
    url = jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=GBK
    user = root
    password = 
    driver = com.mysql.jdbc.Driver现在有一条sql如下:
    select pk '主键' from checkout.接下来做了如下的处理: DefaultTableModel fdtm = new DefaultTableModel();
    ResultSet rs = executeQuery( sql ); //获得结果集
    int row = getRSCount( rs ); //获得结果集中有几行数据
    ResultSetMetaData rsm =rs.getMetaData();//获得列集
    int col = rsm.getColumnCount(); //获得列的个数
    String colName[] = new String[col]; for (int i = 0; i < col; i++) {//取结果集中的表头名称, 放在colName数组中
    colName[i] = rsm.getColumnName( i + 1 );
    }//End for
    rs.beforeFirst();
    String data[][] = new String[row][col];

    for (int i = 0; i < row; i++) {//取结果集中的数据, 放在data数组中
    rs.next();
    for (int j = 0; j < col; j++) {
    data[i][j] = rs.getString (j + 1);
    //System.out.println (data[i][j]);
        }
    }//End for
    fdtm.setDataVector (data, colName);
    现在问题如下:
    在4.0版本上,“主键”显示正常;
    在5.1版本上,“主键”显示异常。不知道原因在哪里?如果哪里还有不清楚的,可以接下来在说明!
    希望能够得到大家的帮助!
      

  2.   

    首先注意你Java源文件保存时的编码方案,其次才是数据库编码问题,一般在my.cnf中进行utf8的设置不会遇到什么麻烦
      

  3.   


    可能是由于我说的不清楚,导致你理解的和我说的不是同一回事!
    我的意思是,通过这句sql:select pk '主键' from checkout取得数据,并没有插入数据库的动作。由于我是windows下操作,相应的配置文件如下:4.0的配置文件:
    [mysqld]
    basedir=E:/DB/mysql-4.0.18-win
    datadir=E:/DB/mysql-4.0.18-win/data5.1的配置文件:
    [mysqld]
    basedir=E:/DB/mysql-5.0.18-win
    datadir=E:/DB/mysql-5.0.18-win/data
    default-character-set=GBK在5.1的配置文件之所以加上默认字符集的设置,其原因是考虑到中文字符集的问题。
      

  4.   

    楼主在本机新建一个数据库,或表也行,插入一条数据,就知道我为什么这样说了,
    因为是在windows下装的数据库,这样的原因可能是装的过程中设的编码不对,
    楼主用的是GBK,那么在安装时,记得有一步要选择编码,选GBK,
    然后不调用其它程序,直接进入数据库,插入一条含有中文的数据,在查看一下,看看编码是否正常,
    如果一切正常,那么在类里加入:jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=GBK 
    然后用程序插入一条记录,再查看,显示是否正常,
      

  5.   

    rascalboy520我使用的数据库都是非安装版的,DB: mysql-4.0.18-win-noinstall,mysql-5.0.18-win32-noinstall
    所以没有出现在安装流程中需要设置编码的这一步骤。目前现状:
    插入和读入数据库的数据(包括中文字符)都正常。现在问题:
    想通过类似的sql文:select pk '主键' from checkout,将取得的列名修改为“主键”而非“pk”,并将此列名作为表头。
    在4.0版本上,在表头能够正常显示“主键”两个中文字;
    在5.1版本上,在表头显示“主键”两个中文字时,出现乱码。不知道这样讲,是否更加清楚一点?