MySql乱码、navicat乱码、mysql控制台无法插入中文

最近我在开发时,在Navicat中看到中文乱码,然后百度查了相关内容,说是Mysql乱码,于是将MySql编码改为utf8,但是还是乱码,于是继续百度,说是Navicat编码和Mysql编码不一致,将Navicat的链接属性改为utf-8,于是改了,依旧显示乱码。于是我就一样一样的解决,先解决了mysql乱码问题,然后解决Navicat乱码问题,详细不中如下:
首先需要确保我们的mysql编码正确,如下我们先进入mysql的控制台
在这里插入图片描述
进入控制台后我们通过如下命令查看数据库的编码:

 show variables like '%char%';

在这里插入图片描述
此处我的已经改成了utf8,如果上面几个属性中value有latin1,说明字符集不是utf8编码,需要改变编码,执行如下命令:

 set character_set_client=utf8;
 set character_set_connection=utf8;
 set character_set_results=utf8;

这里要注意是utf8,不是utf-8;
当然,还有一些资料说需要改mysql配置文件,在mysql安装目录下
在这里插入图片描述
因为我是在解决乱码之前改的配置,所以是不是这里起到决定性的作用我也不是很清楚,但是改成utf8也没害处,将my.ini文件中的default-character-set和character-set-server改为utf8
在这里插入图片描述
到这里大部分文章说问题就解决了,但是这里又出现了一个问题就是,我在mysql控制台插入中文的时候报错,无法插入中文,最后找到一篇帖子说这是cmd控制台的问题
cmd控制台采用的是gbk编码格式,而我们的mysql是utf8格式,所以这就导致了无法插入中文,所以我们要讲mysql控制台改为gbk,这里讲mysql改为gbk后,在输入中文时,mysql会自动讲gbk转换为utf8
在这里插入图片描述
从图中可以看到,插入中文时报错。
执行如下命令,讲编码改为gbk:

set names gbk;

在这里插入图片描述
这里可以看到编码改为了GBK,到这里我们可以正常的通过mysql控制台插入中文数据了
在这里插入图片描述
下面我们来解决Navicat显示乱码问题
在数据库连接列中右键,选择连接属性
在这里插入图片描述
我这里使用的是11.1的版本,缺少一个使用mysql字符集的CheckBox,如果有,则打钩,我看大部分博客对上面编码的选择都是utf-8,这里我也改成了utf-8,但是我的数据查询时依旧乱码,改成Current Windows codepage还是乱码,后来改成了自动,中文正常展示了。
在这里插入图片描述
到此所有问题都解决了。

文中主要解决了三个问题:
1.Mysql乱码
2.Mysql无法插入中文
3.Navicat乱码

希望对大家能够有帮助。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值