基于很多java初学者都会碰到的中文乱码问题而发表这个文章.事实上可以在百度搜索中文过滤器也能得到答案.只是我这里吧所有的代码都复制过来了,直接复制,粘贴,部署到工程里面即可.
简述一下主要的文件:
SetCharacterEncodingFilter.java文件:
-
代码的格式我尝试过了,有时候GB2312可以,有时候GBK可以,或者UTF-8可以。具体情况请大家自己酌情根据自己的环境来设置。
- Web.xml代码:
其实要解释的WEB配置代码只有如下
-
- <filter-class>
- sei.ynu.edu.cn.filter.SetCharacterEncodingFilter
- </filter-class>
- /***处理字符转码的类文件,包括包命+类名***/
- <param-value>GB2312</param-value>
- /**转码的字符编码*/
- <filter-mapping>
- <filter-name>setcharacterencodingfilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
/***表示所有的页面都进行字符都要进行处理**/
经过这样的设置,本人所有页面的JSP中文乱码都处理了。
而且在Mysql数据插入的时候也不会出现中文乱码。即使是JDBC操作数据库也不用在连接的时候采用字符码转换。(注:GBK的范围大于GB2312 ,GB2312仅指简体中文,而GBK不仅指简体中文,还包含了繁体中文等中文。)