解决navicat中显示的乱码

解决navicat中的乱码

2021年5月14日,下午有两个小时都花在了解决navicat中显示的数据库内容是乱码问题上。在网上找了各种五花八门的解决方案,都没能最终地解决我的问题。后面不知道是那里看到的一个提示,我修改了windows下计算机的编码属性,于是乱码问题得到了解决,不过好像有缺陷,电脑有些字显示变得奇怪了,比如说浏览器中搜索一些特殊代码。不过我能正常工作了就行了,有大佬知道原因的,拜托留个言,提点一下我这个萌新吧。

!以下是解决了我电脑遇到的问题,如果解决不了您的,见谅哈,我也是新手!

1.开始的基操与其他版本一置

  1. 一开始,都是修改MySQL的配置文件中的字符编码,也就是修改my.ini即数据库配置文件,下图是我的MySQL配置文件位置,看了别人的电脑也都安装盘符下和Program Files 并列的ProgramData之下,如:C:\ProgramData\MySQL\MySQL Server 8.0 您看着参考一下
    记得要显示隐藏文件,ProgramData默认好像是隐藏的。文件位置在安装盘符下和Program Files 并列的ProgramData之下,C:\ProgramData\MySQL\MySQL Server 8.0 您看着参考一下

  2. 修改之前最重要的一点,备份备份备份,我庆幸我备份了,因为只有我一个人用的8.0版本MySQL,不然要么按照8.0的配置文件规范照样画葫芦抄一个,要么网上去找一个下载,或者找同为8.0版本的使用者copy一个,不然我去哪儿找呢,反正备份双保险,不然浪费时间不说,万一还不行呢,气死你,扯远了,comeback。

  3. 开始改吧,以[client]、[mysql]、[mysqld]为单位

  4. [client]下添加:
    default-character-set=utf8

    [mysql]下添加
    default-character-set=utf8

    [mysqld]下添加
    init_connect=‘SET collation_connection = utf8_general_ci’
    init_connect=‘SET NAMES utf8’
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    解释一下:‘init_connect=‘SET NAMES utf8’的结果是
    character_set_client | utf8
    character_set_connection| utf8
    character_set_results | utf8
    将这三个的编码都改成了utf-8 这我也是总结,晓得就行了。

  5. 改完保存就行,你的备份版本的扔在那儿就行,否管他,因为它的名字叫【my - 副本】而数据库只认定my.ini也或许是my,后缀可能是隐藏起来的

  6. 然后电脑WIN键输入cmd,管理员方式打开一个,普通用户方式打开一个;前者用来输入net stop MySQL80或者net start MySQL80,记得进入mysql必须是服务start的时候,如果你的服务stop之后没法start了,替换成原来的my配置文件重新改,因为你改的格式没按照要求。替换了就可以重启了。然后普通用户那边进入数据库,mysql -u root -p:一顿操作之后

输入命令show variables like ‘%character%’;%号就是(听用,百变,随便啥字符串都能代替)的意思,
得到如下结果
在这里插入图片描述
这里我多show了一下输入 show variables like ‘collation%’;
第一图(黑背景)是在windows的cmd下,第二图是在(白背景)navacat中输入命令
两者utf8_后面不一样,但我改不动,希望有人能留言教我一下
在这里插入图片描述
在这里插入图片描述

OK,如果navicat里还是显示乱码,那么就只有使出终极大招了,直接修改电脑系统的字符集。(win10系统)win键->设置->时间和语言->(左边选择)语言->(相关设置下)管理语言设置 勾选Beta版重启电脑。
在这里插入图片描述
有些人说可以尝试在navicat连接数据库时,在高级选项里去掉使用MySQL字符集的勾选,或者修改使用编码为当前windows的编码,不过对我没有用,再不行你们也可以试试看,我的情况可能不太一样,我是本地数据显示异常,远程数据显示正常。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Navicat导入数据时,可能会遇到码的问题。以下是一些可能的原因和解决方法: 1. 数据源字符集不匹配:检查数据源的字符集设置,确保与导入目标数据库的字符集相匹配。可以在Navicat连接数据库时修改字符集设置。 2. 导入目标数据库字符集不正确:如果导入目标数据库的字符集设置不正确,导入可能会导致码。确保目标数据库的字符集正确设置。可以使用ALTER DATABASE命令来更改数据库的字符集。 3. 导入文件编码格式不正确:确认导入文件的编码格式是否正确。确保导入文件使用的是与目标数据库相匹配的字符集,如UTF-8或GBK等。 4. 字段定义不正确:如果导入的数据表的字段定义不正确,可能会导致码。确保将正确的字符集用于定义相应字段,以便正确存储和显示文字符。 5. 使用正确的字符集和校对规则:确保在创建数据库和表时使用正确的字符集和校对规则。校对规则定义了字符排序和比较规则,对于文字符的排序和比较很重要。 6. 使用Navicat内置的导入功能:Navicat提供了内置的导入功能,可以更好地处理码问题。确保使用Navicat提供的导入功能进行数据导入,并检查导入设置选项。 总之,要解决Navicat导入码问题,我们需要确保数据库、数据文件和字符集的设置正确,并使用正确的导入方式和选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值