MySQL插入中文乱码问题

在SpringBoot实践中遇到数据库插入中文出现编码错误,表现为数据库中显示为问号。通过检查IDE编码设置、数据库连接URL、MySQL本地编码、数据库及表的编码格式,逐一设置为UTF-8,以及修改字段编码,最终成功解决乱码问题。文中还提到MySQL配置文件my.ini可能影响乱码,但未详述。
摘要由CSDN通过智能技术生成

今天跟着慕课SpringBoot练习的时候,数据库插入中文遇到了编码错误问题,

.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1366, SQLState: 22001

保存中文数据,发现在数据库中显示为???

最后上网一一排查,解决了这些问题。

参考的文章如下:https://blog.csdn.net/blueheart20/article/details/52385142

文中的环境是在centos下的,我的问题是在windows下的。

排查过程如下:

1. IDE的编码,是否为UTF-8。

解决方案:

以IDEA为例,File->Settings->Editor->FileEncodings,三个关于编码的属性,

FileEncoding,ProjectEncoding,Default  encoding for properties全部换成UTF-8

2.代码里的数据库连接URL尾部是否加上了编码设置,&characterEncoding=utf-8

解决方案:jdbc:mysql://localhost:3306/luckymoney?serverTimezone=GMT%2B8&characterEncoding=utf-8

3.本地MySQL的编码格式是否为UTF-8

解决方案:在控制台中,登入mysql,使用show variables like 'char%';命令去查看本机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值