JavaEE+Mysql中文乱码
我们在开发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”/>。
这样做完以上五个步骤,中文乱码问题就不复存在了。