操作数据库插入,更新中文信息出现乱码

  jsp页面向数据库添加新的记录,记录中有中文的信息,之后存储到数据库中,存储的中文都变乱码了;

  设置servlet的编码格式:

// 请求设置编码为UTF-8
request.setCharacterEncoding("utf-8");
// 响应设置为UTF-8
response.setContentType("text/html; charset=utf-8");

  

  设置JSP的编码格式:

<%@ page contentType="text/html;charset=UTF-8" language="java"  pageEncoding="utf-8" %>

<meta charset="utf-8">

  

  重启了Tomcat,插入/更新字段有中文信息还是会乱码;

  查看了表的编码格式:CHARSET=utf8

  修改连接池配置文件:

# characterEncoding=utf-8
jdbc:mysql://ip/database?characterEncoding=utf-8

  重启Tomcat,插入/更新字段有中文信息依然会乱码;

  修改MySQL配置:

vim /etc/my.cnf

  

  在my.cnf中添加:

# 客户端编码
[client] 
default-character-set=utf8

# 客户端编码,缺省值
[mysql] 
default-character-set=utf8

# 服务端编码设置
[mysqld] 
character-set-server=utf8 
collation-server=utf8_general_ci 
skip-character-set-client-handshake

  

  重启MySQL:

service mysqld restart

  之后重启Tomcat,存储中文信息的乱码问题就解决了;

猜你喜欢

转载自www.cnblogs.com/coder-zyc/p/10666700.html