那你应该检查你的java程序,是否以将字符集设置为GB2312建议打开 MySQL的SQL操作日志,
检查你的程序发送到MySQL服务器端SQL中的汉字是否正常
呵呵,
我想一定是乱码my.ini文件中加入[mysqld]
log =d:/mysql/log/sql.log
# Log记录
检查你的程序发送到MySQL服务器端SQL中的汉字是否正常
呵呵,
我想一定是乱码my.ini文件中加入[mysqld]
log =d:/mysql/log/sql.log
# Log记录
调试欢乐多
但我在MySQ自己的命令行下查询中文没问题阿。只是通过JDBC联接查询才出问题。
所以说你的SQL传到MySQL服务器时就是乱码了,
用上面的方法看看吧
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 无
Class.forName( "org.gjt.mm.mysql.Driver")而不是
Class.forName("com.mysql.jdbc.Driver").我的jdbc目录下没有com.mysql.jdbc.Driver,当运行时,报“空指针异常”错误。相同的代码如果换成ACCESS的驱动就没有问题。这个问题我一直找不到答案。