hibernate+strtus编了个网站,测试数据库时mysql里的中文总是乱码?在数据库里直插可以正常显示,通过网页插入的中文就是乱码??
另外,我的尝试是:在mysql的DOS里把 show variables like 'character_set_%';
set character_set_connection='utf8';set character_set_database='utf8';
set character_set_results='utf8';
set character_set_server='utf8';
都试过了,包括页面的数据库里面的都统一的utf-8;;跪求高手

解决方案 »

  1.   

    我曾经也遇到过这样的问题,你在mysql里面设置貌似整不好,因为你安装的时候选择了语言ISO-8859-1 你可以把MYSQL重新修复一次 在语言选择里修改为UTF-8
      

  2.   

    1.重新建库,建表,选择UTF-8
    2.页面,过滤器,配置文件,都用utf-8
      

  3.   

    在每层都把你传递的中文打印出来、
    看是在哪里出的乱码在action里打印一下、在保存到数据库之前打印一下、顺便看你服务器(tomcat容器)的编码格式是什么、默认是iso的那个、不同地方处理方式不同的、如果都不是那么在创建表的时候
    CREATE TABLE `XXX` (
    XX
    XX
    XX
    XX) ENGINE=InnoDB DEFAULT CHARSET=utf8
      

  4.   

    1.用命令插入试试是否乱码,如果不乱,数据库没有问题,如果乱码则数据库设置有问题
      补充:mysql5.5的版本我试过,存在中文乱码问题,不过忘记是5.5的哪个版本了,如果你用的是5.5,建议换成     5.1
    2.如果命令插入没有问题,并且jsp页面为utf-8,就将编码转换下 new String(str.getBytes("iso8859-1/gbk/gb2312"),"utf-8"),应该没有问题了!
      

  5.   

    jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
      

  6.   

    如果你所有的配置的是utf-8包括连接字符串信息。
    那么出问题的就是你的Mysql。我原来也出现过这样的问题。你右键你的数据库。选择属性。选择编码为uft8就可以了。