遇到的问题是,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