上面连接形式应当是这样的:jdbc:mysql://127.0.0.1:3306/forum?user=root&password=&useUnicode=true&characterEncoding=UTF-8

mysql>SET character_set_client = gb2312;
mysql>SET character_set_results = gb2312;
mysql>SET character_set_connection = gb2312;

再看看mysql控制台,
查出来的东西是不是乱码,哈哈。。。我搞了一晚上才搞出来
我用的是
mysql5.01
jdbc driver:
mysql-connector-java-3.1.4-beta-bin.jar
jdbc url
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GB2312

换UTF-8,应该也一样
你们的问题我也碰到了,不过终于解决了,不敢独享,拿出来于大家分享

>换UTF-8,应该也一样
我这边没有环境,tonykee试一下?我感觉应该不一样.
实际上,如上贴所说的情况应该是一个正常的现象:在数据库中保存的是utf-8编码,而我们windows缺省的编码方式是GBK.在把数据库中的内容显示到屏幕的过程中,会有一个编码转换问题,不出现乱码才是不正常的.
关于中文编码问题,我建议大家不要头痛医头,脚通医脚,网上有一些关于java汉字问题的文章,说得很深入,可以好好研究.汉字问题很多人都遇到,花费得时间也不少了,应该从基础理论上入手,才能根本解决.