JDBC连接数据库出现中文乱码

JDBC连接数据库出现中文乱码

分别排查以下
  1. 数据库中编码设置,以及数据库中表和字段的编码(表和字段编码不单独设置的话和数据库编码一致)
    JDBC连接数据库出现中文乱码

  2. 检查HTML编码(JSP编码)
    HTML:<meta charset="utf-8"/>
    JSP:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

  3. 检查编辑器的编码(默认GBK),以myeclipse为例:右键点击项目名,选择Properties
    JDBC连接数据库出现中文乱码

  4. 在servlet中设置请求和响应的编码

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    response.setCharacterEncoding("utf-8");
    
  5. 如果上述都不行的话,修改tomcat下conf中的server.xml文件
    将:

    <Connector port="8080" protocol="HTTP/1.1"
    			   connectionTimeout="20000"
    			   redirectPort="8443"/>
    

    后面添加useBodyEncodingForURI=“true”,改为:

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" useBodyEncodingForURI="true"/>