那你应该检查你的java程序,是否以将字符集设置为GB2312建议打开 MySQL的SQL操作日志,
检查你的程序发送到MySQL服务器端SQL中的汉字是否正常
呵呵,
我想一定是乱码my.ini文件中加入[mysqld]
log =d:/mysql/log/sql.log
#  Log记录

解决方案 »

  1.   

    to shuixin13(犬犬(心帆)) 
    但我在MySQ自己的命令行下查询中文没问题阿。只是通过JDBC联接查询才出问题。
      

  2.   

    呵呵,是呀,
    所以说你的SQL传到MySQL服务器时就是乱码了,
    用上面的方法看看吧
      

  3.   

    找到答案了:)
    Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost/Yttrium?useUnicode=true&characterEncoding=gb2312","Yttrium","XXX");
    ----------------------------------------------------------
    参数名 取值 缺省
    user 数据库用户名 无
    password 数据库用户口令 无
    autoReconnect 当数据库连接丢失时是否自动连接,取值true/false false
    maxReconnects 如果autoReconnect为true,此参数为重试次数,缺省为3次 3
    initialTimeout 如果autoReconnect为true,此参数为重新连接前等待的秒数 2
    maxRows 设置查询时返回的行数,0表示全部 0
    useUnicode 是否使用unicode输出,true/false false
    characterEncoding 如果useUnicode,该参数制定encoding类型,建议使用8859_1 无
      

  4.   

    我装的JDBC版本是:mm.mysql.jdbc-1.2c.tar.gz,
    Class.forName( "org.gjt.mm.mysql.Driver")而不是
    Class.forName("com.mysql.jdbc.Driver").我的jdbc目录下没有com.mysql.jdbc.Driver,当运行时,报“空指针异常”错误。相同的代码如果换成ACCESS的驱动就没有问题。这个问题我一直找不到答案。