MariaDB 导入 SQL 文件 报 ERROR 1366 (22007) Incorrect string value 错误解决过程

本文记录了解决数据库字符集不匹配的问题过程。作者最初在命令行界面遇到问题,但误在HeidiSQL客户端进行排查,导致问题未能立即解决。通过重新审视问题并正确查看命令行界面的设置,最终找到了正确的解决方法。

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

这次是在网上搜到的解决方案,不过感觉值得记录。

刚开始我搜到了这篇文章: https://blog.youkuaiyun.com/qq_42110985/article/details/88410607 。我是在命令行界面遇到的问题,但是我坑爹地去 HeidiSQL 里执行 show variables like ‘char%’ 了。当时我应该是以为那个 character_set_client 是所有数据库客户端都通用的,结果好像不是。看到 HeidiSQL 里 show variables like ‘char%’ 的结果都是 utf8 我就去继续搜索了。结果找了大概一两个小时也没找到有效的方法。然后不知道因为什么我又在命令行界面运行了一次 show variables like ‘char%’,结果发现 character_set_client  不是 utf8。对比了一下 HeidiSQL,二者确实不一样。然后想到了上面搜到的那篇文章,搜到之后按里面的指引做就顺利导入了。

说说收获吧,首先是不能做过多的假设。必要的时候审视自己做的假设。这个其实我之前就知道,只不过好像在编程方面很少用过。但在其他地方我用过。其次就是解决问题的时候要“专注”,不要东一下西一下,感觉这个没有词来形容,主要就是在命令行数据库客户端发现问题却去图形数据库客户端操作了。也不太对,也不能一直“专注”,“专注”应该作为众多策略中的一种,一种策略不行了就换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值