用了UTF-8,为什么还是显示不出中文呢?

String url = "jdbc:mysql://localhost:3306/testdb?user=root&password=root&useUnicode=true&characterEncoding=UTF-8";

不知你使用什么版本的mysql,如果是4.0(含4.0)以前的版本应该没有问题,mysql 4.1以后版本对多语言的支持作了较大调整,需要在配置文件中设置default-character-set=gb2312,重新启动mysql服务,并重新创建数据库后,即可支持中文,原来的jdbc url链接中关于字符集参数部分好像不怎么起作用了,去掉也可以支持中文。

的确,我的mysql用的就是4.0以后的版本,是mysql4.1。

通常的想法是,一个J2EE应用支持中文,不应该在应用程序之外的其他部分,比如容器,数据库方面作设置,对吧,4.1为什么又要这么做呢,这么说为了支持其他Unicode语言,岂不是也要在mysql作相应的设置,我感觉这有些倒退,并且是画蛇添足了。

谢谢你的回复,我按照你的方法操作一下。
(在命令行方式登陆mysql,运行sql之后,中文可以正常显示的)

问题依然存在。

数据库方面,按照前面设置之后,肯定没有问题,如果还是不能显示中文,需要找其他方面的原因,这方面的文章网上很多,你找找看,相信应该能够解决问题。

中文编码的问题确实犯人!万一不行就用serlet转码,这个问题我也郁闷啊!
感觉还和操作系统有关.我用繁体操作系统,也用简体的,在2000里面和在2003里面又不一样,用sql2000和用DB2又不一样,用weblogic和用webSphere/tomcat又不一样.

谢谢几位回复,这个困扰人的问题,我打算先搁置一下,以免影响学习进程,呵呵,随着学习深入,相信认识会更深一点,也许就能解决了。