当前位置:编程学习 > JAVA >>

hibernate+strtus编了个网站,测试数据库时mysql里的中文总是乱码?

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;;跪求高手[img=http://][/img] --------------------编程问答-------------------- 我曾经也遇到过这样的问题,你在mysql里面设置貌似整不好,因为你安装的时候选择了语言ISO-8859-1 你可以把MYSQL重新修复一次 在语言选择里修改为UTF-8 --------------------编程问答-------------------- 1.重新建库,建表,选择UTF-8
2.页面,过滤器,配置文件,都用utf-8
--------------------编程问答-------------------- 在每层都把你传递的中文打印出来、
看是在哪里出的乱码

在action里打印一下、

在保存到数据库之前打印一下、

顺便看你服务器(tomcat容器)的编码格式是什么、默认是iso的那个、

不同地方处理方式不同的、

如果都不是那么在创建表的时候
CREATE TABLE `XXX` (
XX
XX
XX
XX

) ENGINE=InnoDB DEFAULT CHARSET=utf8 --------------------编程问答-------------------- 1.用命令插入试试是否乱码,如果不乱,数据库没有问题,如果乱码则数据库设置有问题
  补充:mysql5.5的版本我试过,存在中文乱码问题,不过忘记是5.5的哪个版本了,如果你用的是5.5,建议换成     5.1
2.如果命令插入没有问题,并且jsp页面为utf-8,就将编码转换下 new String(str.getBytes("iso8859-1/gbk/gb2312"),"utf-8"),应该没有问题了! --------------------编程问答-------------------- jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 --------------------编程问答-------------------- 如果你所有的配置的是utf-8包括连接字符串信息。
那么出问题的就是你的Mysql。我原来也出现过这样的问题。你右键你的数据库。选择属性。选择编码为uft8就可以了。 --------------------编程问答-------------------- z这就是数据库设置有问题。。。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,