解决mysql统一utf-8编码问题

本文主要介绍了如何解决MySQL中遇到的UTF-8编码问题,具体包括在application.properties配置文件中设置数据源编码,通过命令行修改MySQL数据库的字符集设置,以及检查并调整数据库字段的Collation到utf8编码,从而成功解决‘xE7x94xB7’等乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决mysql统一utf-8编码问题


问题:在往mysql插入表单时,中文字符插入数据库以后是乱码(数据库显示的是一个问号)
springboot报错是:

 Error updating database.  Cause: java.sql.SQLException: Incorrect string value: '\xE7\x94\xB7' for column 'sex' at row 1

重点在于 ‘\xE7\x94\xB7’ for column ‘sex’ at row 1,mysql中的sex字段对应不进去。

解决:
step1.
在application.properties文件里边的数据源中添加如下的编码
在这里插入图片描述

step2.在mysql中使用命令

 show variables like '%char%';

这里除了character_set_filesystem可以是binary,其他都要是utf8
这里除了character_set_filesystem可以是binary,其他都要改成utf8。
用如下命令修改。

		set character_set_client=utf8;
		set character_set_connection=utf8;
		set character_set_database=utf8;
		set character_set_results=utf8;
		set character_set_server=utf8;
		set character_set_system=utf8;
		show variables like '%char%';

step3.我上边设置完了以后还是会报错,然后接着查看数据库字段编码格式:

// 查看数据库字段编码格式
SHOW FULL COLUMNS FROM USER

在这里插入图片描述
然后发现Collation这一列都不是utf8编码,需要更改成utf8的编码

alter table `tablename` convert to character set utf8;

然后改完了以后问题就解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值