有时候查询输出后会是乱码,我们更改了编译器都为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依赖
807

被折叠的 条评论
为什么被折叠?



