赞
踩
首先我被科普utf8mb4就是最普遍的utf-8的一种形式。在后面出现的utf8mb4也就是大部分人的utf-8,二者都泛指utf-8,只跟gbk编码之类的进行区分
出现的错误现象为:
navicat出现乱码,但可以在navicat界面被更改为中文,更改为中文后,命令行的mysql仍然把更改后的中文变为乱码
依次检查,”终端命令行自身的编码(chcp 65001)“,”mysql本地配置的编码“,navicat的”连接属性编码“,navicat的”数据库编码“,navicat发生乱码的栏正在使用”字段“的编码,ide项目的编码格式。
# 1.检查”终端编码不匹配现象“是否存在
输入 chcp 发现不是65001.代表终端默认不是utf8mb4
输入chcp 65001;
mysql->use database;
mysql->select .....;
控制台乱码解决,不过命令行的配置更改不是永久性的。
因此终端需要和其它各种编码格式匹配,上网搜索永久更改终端编码格式的方法。
找到修改“区域”的方法:
控制面板 :时间和地区:区域;
![[Pasted image 20230919084330.png]]
![[Pasted image 20230919085139.png]]
![[Pasted image 20230919085201.png]]
更改后启动,发现终端更改为了,utf8mb4,重启电脑命令行输入chcp;
发现chcp变为65001了。
到此,我的问题全部解决了呃。
------------------------------------------------------------------------------
# 2.检查“本地mysql的编码不匹配现象“是否存在
命令行输入
mysql -uroot -p
password:“.....”
进行登录,
mysql->show variables like 'char%'; 用于显示mysql的配置中各变量的编码格式。
![[Pasted image 20230919090035.png]]
屏幕中正常情况下除了filesystem 和system的变量值一般不是utf-8,其余如果你的mysql显示gbk或者latin1(拉丁文)那就证明
此环节:检查本地mysql配置的编码出现非utf-8,要想永久修改,需要去配置文件里修改。
谢谢csdn的这位
[将MySQL的默认字符集设置为utf8或utf8mb4的方法(本文基于MySQL8.0书写,不保证MySQL5.0有效)_mysql8修改字符集_奋斗中的少年的博客-CSDN博客](https://blog.csdn.net/luliancsdn/article/details/116140972)
我才得以一路无阻地修改成功,再次来到命令行发现已经修改为上图。
# 3.检查”navicat的连接属性“
修改连接属性,为“自动”,我看到网上有的人也在这一步问题得到解决。
![[Pasted image 20230919091233.png]]
# 4.检查”navicat的数据库属性“
![[Pasted image 20230919091510.png]]
![[Pasted image 20230919091535.png]]
# 5.检查乱码最终处字段的编码
![[Pasted image 20230919091643.png]]
![[Pasted image 20230919091749.png]]
# 6.查看,IDE的project项目目前的编码。
选择project,右击,属性
![[Pasted image 20230919091938.png]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。