Java中Hibernate与Mysql交互之乱码解决
(建议所有编码都一直改为“utf8”的编码)
1,设置MyEclipse的编码情况
进入Window--Preferences--General--Workspace,Text file encoding 选项中默认的Default(GBK)选项更改为Other,并将值设为utf-8;
2,进入Window--Preferences--MyEclipse--Files and Editors,将这个选项下面的:ASP and PHP、CSS、DTD、HTML、JSP、XML中的字符编码全部更改为utf-8;
3,最重要的是设置mysql的字符集编码:
可以按照我看到的一篇文章设置:http://blog.****.net/tuke_tuke/article/details/48415791
4,设置完成后还要设置MySQL的默认字符集编码default-character-set
在安装路径的bin目录下的my.ini文件,改成如下:原来mysql默认的latin1字符集
5,还是不行的话,可以修改数据库连接路径加上useUnicode=true&characterEncoding=UTF8
<property name="connection.url">jdbc:mysql://localhost:3306/heritationtwo?useUnicode=true&characterEncoding=UTF8</property>
到这里也差不多没有问题了,如果在浏览器上显示有中文乱码问题的话
a、如果有必要的话,将所有JSP页面头上都加上这行代码:<%request.setCharacterEncoding("UTF-8"); %>,防止页面传值的时候乱码;
b、如果有调用Servlet文件的时候,在Servlet文件中加上如下两行代码 :
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");