解决IDEA链接mysql数据库乱码的问题

有时候查询输出后会是乱码,我们更改了编译器都为utf-8

却任然为乱码

这有时候不是编译器的问题,是mysql服务器的问题

在进行此操作前,可以先试试将其全部切换为GBK,也有概率可以正确输出

检查:

打开cmd

运行,后输入密码
 

mysql -u root -p

之后

切换数据库,如我的是这样的

USE doctersystem;

再运行,就会显示

SHOW VARIABLES LIKE 'character_set%';

MySQL 数据库当前的字符集是 utf8mb3,而 utf8mb3 是 MySQL 早期的 UTF-8 实现,它只支持最多 3 个字节的字符。这可能导致一些 Unicode 字符(例如某些中文字符或表情符号)无法正确编码。

为了解决这个问题,建议将字符集更改为 utf8mb4,它是 MySQL 的推荐字符集,支持完整的 Unicode(包括 4 字节字符),可以有效防止乱码问题。

修改单个数据库字符

 修改数据库字符集为 utf8mb4

ALTER DATABASE doctersystem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;


修改表的字符集为 utf8mb4
ALTER TABLE adult_ear CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

更改连接

String url = "jdbc:mysql://localhost:3306/doctersystem?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=UTC";
这是写在编译器中的

之后再次检查

SHOW VARIABLES LIKE 'character_set%';

再运行就ok了,就可以正常输出中文,如果还有问题,就是升8.0以上的mysql pom依赖

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值