我们在开发jsp时,会经常遇到中文乱码的问题,现在把以下的方法做完,编码问题迎刃而解。

1.在数据库链接字符串上要形如:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8(注意要加characterEncoding=UTF-8)。

2.在数据库表和相应的字段都要的charset要选择utf8,字段也要加,参照http://blog.csdn.net/xuanner/article/details/1573616(最根本的解决方案是将mysql里的bin目录下的my.ini修改或者加入编码utf-8,重新启动服务,重新建立数据库即可)。

3.在servlet的java中去参数时要加上:httpServletRequest.setCharacterEncoding(“UTF-8“);(最好写一个filter来过滤所有的的代码,并设置为utf-8,参照http://www.cnblogs.com/yqskj/articles/2226774.html)。

4.jsp页面要字符集 <%@ page language=”java” contentType=”text/html; charset=UTF-8” pageEncoding=”UTF-8”%> 保证页码的编码是utf-8.

5.在一个javaEE项目时,有一个Servers,将里边的server.xml中修改为<Connector connectionTimeout=”20000” port=”8080” protocol=”HTTP/1.1” redirectPort=”8443”  URIEncoding=”UTF-8”/>。

这样做完以上五个步骤,中文乱码问题就不复存在了。