关于在cmd中MySQL不能插中文数据的原因

下面是本人参考的博客的链接,本文只是当作笔记记载,如果需要看详细过程建议移步原博客哦


https://www.cnblogs.com/1102whw/p/7815466.html

https://www.iteye.com/blog/lwjlaser-1013071


最近在学习数据库,但是用cmd操作的时候碰见一个问题,就是我使用插入语句的时候一直报错,其他语句没有任何问题,而且错误就出在中文数据上。
在这里插入图片描述
这是在power shell上运行的结果,很明显是中文的问题,所以我就查了下发现是命令行编码格式的问题,cmd默认是gbk.于是我将cmd的编码格式改成了utf-8,这个方法在我博客有。但是问题并没有解决。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到我的cmd已经换成了utf-8的格式但是使用插入语句的时候依然有问题。正当我百思不得其解的时候我发现了一个大佬的博客,完美的解决了我的问题,最后我会放出地址,这里先做下笔记。


1.查看数据库安装目录下的my.ini文件,查看红框中是否是是utf-8的格式,这里可以看到我的是没有问题的。

在这里插入图片描述
2.使用下面的命令查看自己数据库的编码格式

$ show variables like ‘%char%’;

在这里插入图片描述
可以看到我这里全部都是utf-8的格式,按理来说应该大功告成,可是我在执行insert语句的时候报了之前的错,原因就是这万恶的cmd!!!虽然我将cmd的编码格式改成了utf-8但是cmd输入的中文还是gbk,所以输入的中文识别不了,我真是日了旺财了。

3.因为cmd输入编码无法更改,所以只能退而求其次将我们的编码格式改成gbk,使用下面的语句就可以了

$ set names gbk;

这里在说一下数据库字符集的东西,其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results

在这里插入图片描述
虽然可以解决问题但是我个人并不推荐,因为gbk只能显示中文,万一要是整个日文韩文呢?所以咱绝不将就,就必须得用utf-8,所以我建议你使用navicat,好用又强大,用了都说好。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值