在eclipse下做一个小东东,中文乱码问题很令人头疼,现在把它总结一下。开发环境是eclipse3.0 + tomcat6.0 + mysql server5.0, 字符集统一为utf-8. 我们先从前端页面说起,然后说数据库中的编码问题。
首先,在eclipse菜单“首选项”中,更改“general”中工作区间的文本字符集选项,选为utf-8,这样在新建jsp时,默认的字符集就是utf-8. 然后,新建一个fiter,该文件用来过滤所有的请求,设置其中的编码格式为utf-8.
Java代码
1.
2.
3.
4.
5. CharacterEncodingFilter
6. CharacterEncodingFilter
7. com.cms.filter.CharacterEncodingFilter
8.
9. encoding
10. utf-8
11.
12.
重要的一点是,在工程下的web.xml中要将字符集过滤器的filter mapping放在其它mapping的前边。
Xml代码
1.
2. LoginFilter
3. LoginFilter
4. com.cms.filter.LoginFilter
5.
应用端的字符集设置工作完成后,我们要设置一下mysql的数据库字符集。首先,我们在mysql安装文件夹下,找到my.ini文件,在这个文件中设置了数据库默认的端口号和字符集:
Java代码
1.[client]
2.port=3306
3.
4.[mysql]
5.default-character-set=latin1
在这里,我们可以更改它的默认字符集,如果要使默认字符集为utf-8 , 那么就可以把latin1改为utf8 。my.ini文件中总共需要两处这样相同的改动。更改完成后保存,重启mysql,如果已经建好的数据库被设置的字符集不是utf-8,直接点数据库属性,在里边改过来就行了。这时候我们可以新建一个数据库,它的默认字符集就是utf-8了。