解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。
一、 几种常见的乱码现象:
1、页面乱码
单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。
2、页面之间传递的参数是乱码
页面之间传递参数出现的乱码,就要解决页面编码和requset的字符集问题,在参数传进传出时重新设置相应的字符集。比如:request.setCharacterEncoding("UTF-8");
3、数据库乱码(下面详细介绍)
在ssh框架中解决中文乱码问题(希望对你有用!)
1. jsp页面中 全部为utf-8
pageEncoding="UTF-8"%>
2.action中为utf-8(有时有作用)
HttpServletRequest request =ServletActionContext.getRequest();
request.setCharacterEncoding("UTF-8");
3. web.xml中为utf-8
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
4.数据库连接为utf-8
jdbc:mysql://localhost/数据库名?useUnicode=true&characterEncoding=UTF-8
5 数据库编码为gbk(见附件)
页面和页面传值都没有问题,结果发现存储在数据库中的数据出现了乱码,则问题是出现在数据库的编码问题。
下面我已MySql数据库为例说明解决方法:
如果你安装数据库的时候字符集使用的默认选项:latin1
DOS命令下进入数据库show 一下字符集(命令:show variables like"%char%"; )