Java EE
MyEclipse+MySql中文乱码
一、设置MyEclipse的字符编码,步骤如下:
1、进入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、如果有必要的话,将所有JSP页面头上都加上这行代码:
%>,防止页面传值的时候乱码;
二、设置mysql的字符编码
修改my.init配置文件来修改mysql的字符集,请注意在关闭mysql进程后再修改,不然你会发现你每次都白修改了,因为重新启动后没变!
修改my.init中的编码方式为utf-8如下 (一定得是utf-8 如果是utf8数据库将不能插入中文数据
gbk、gb2312也不行,那是因为utf-8包含的字符集比较广有其他字符集所没有的)
有地方要修改
[mysql]后的
default-character-set=utf-8
三、
解决方法:
如果:在hibernate.cfg.xml应该这样写
name="connection.url">jdbc:mysql://localhost:3306/yinhanguseUnicode=true&characterEncoding=utf-8
如果:用hibernate.properties
#hibernate.connection.url
jdbc:mysql://localhost:3306/yinhang
useUnicode=true&characterEncoding=utf-8
如果:在jdbc或其他的数据库连接配置中后加上
?useUnicode=true&characterEncoding=UTF-8
四、一些页面传值的字符集问题(这里不详细讲,如有必要下次发博文)
包括一些不同action传值方式的字符集处理问题
比如调用Servlet文件的时候,在Servlet文件中加上如下两行代码 :
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
有了这些设置后你的servlet中应该不会再有乱码了
五、不得不说下网上还有改Tomcat的配置的
tomcat安装目录 conf 文件夹下 的 server.xml中:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="utf-8" />
添加 URIEncoding="utf-8"
以上基本上都是我所碰到的,有几点是网上整理所得,希望能帮上大家点忙。。