你建数据库的时候用的可能不是utf-8,当你建好数据库之后再改就不对了,重新配置mysql为utf8,再重建库就ok了。。。另外,楼上几位以及楼下一位各种正确,就是编码不一致的问题。。。 [解决办法] 乱码。。。。。。 [解决办法] 把数据库编码改成utf-8,建数据库和表时指出就行。 [解决办法] 搞清楚编译时编码,和运行时编码是否一致 [解决办法] 编码不一致导致的 [解决办法] 可以先查看数据库编码,然后进行修改 --查看数据库的字符集 show variables like 'character\_set\_%'; show variables like 'collation_%'; --设置数据库字符编码 set names 'GBK' alter database payment character set GBK; create database mydb character set GBK; set character_set_client=gbk; set character_set_connection=gbk; set character_set_database=gbk; set character_set_results=gbk; set character_set_server=gbk; set character_set_system=gbk; set collation_connection=gbk; set collation_database=gbk; set collation_server=gbk; [解决办法] 如果你统一数据库、servlet、jsp页面都使用utf-8的编码,就不会出现这种问题了。 [解决办法] 那就设置tomcat的字符编码集