jsp传入mysql汉字乱码

本文讲述了作者在将JSP数据插入MySQL时遇到的乱码问题,通过调整Java编码、数据库字符集设置和my.cnf配置,最终找到并解决了问题。重点介绍了如何新建数据库时选择utf8字符集以及修改my.cnf文件确保server字符集设置正确。
摘要由CSDN通过智能技术生成

遇到的问题是,jsp传入mysql文字乱码

首先,java端做了编码处理,一直到dao层数据都是正确的,

日志也没乱码,

2021-08-18 08:27:25[ DEBUG ]==>  Preparing: insert into plotpoint (  ......) values ( ?, ?, ?, ?, ?, ?, ? ) 
2021-08-18 08:27:25[ DEBUG ]==> Parameters: 测试点4(String), (Double), (Double), (Integer), (Integer), (String), (Integer)
2021-08-18 08:27:25[ DEBUG ]<==    Updates: 1

所以确定问题在mysql上

我mysql版本(CentOS 7.5 64位)

 于是

上网找了如下两行代码,发现存不住!不知是不是版本问题

SET character_set_database='utf8'; 不好使

SET character_set_server='utf8';   不好使

我的成功解决方法如下

 1.首先 character_set_database 问题 ,是当初新建数据库时没有选择字符集,用了默认的,所以新建数据库选择字符集就能解决

这个界面选择utf-8,然后第一个问题解决

 

 2.character_set_server 需要修改my.cnf(centos的文件是这个名字)文件

在[mysqld]下添加

character-set-server=utf8

(我的my.cnf下只有  [mysqld]和[mysqld_safe]  没有看到 client等等(看别的文章有的版本 有 [client]和default-character-set=utf8))

然后 重启 MySQL服务 systemctl restart mysqld.service

解决!!!

附录 centos 代码

        查找 my.cnf 文件------find / -name my.cnf        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值