Windows操作系统下MySQL-5.6.44免解压版与Navicat for MySQL编码冲突问题解决方案

MySQL-5.6.44免解压版与Navicat for MySQL编码冲突问题解决方案

使用dos窗口命令创建MySQL数据库与使用图形化管理工具创建数据库时的编码冲突问题是许多MySQL初学者最常见的问题,本篇文章主要针对MySQL与Navicat for MySQL图像化管理工具出现的编码问题提供解决方案。

问题一:MySQL字符集编码问题
问题二:Navicat for MySQL字符集编码问题

方案:

  • 解决MySQL字符集编码问题

    1.打开dos命令窗口,使用 mysql -uroot -p 命令连接数据库

    在这里插入图片描述
    2.输入命令show variables like ‘char%’,查看MySQL数据库使用的编码格式
    在这里插入图片描述

名词解释:

character_set_client:客户端请求数据的字符集
character_set_connection:客户机/服务器连接的字符集
character_set_database:默认数据库的字符集
character_set_filesystem:把os上文件名转化成此字符集, 默认binary是不做任何转换的
character_set_results:结果集,返回给客户端的字符集
character_set_server:数据库服务器的默认字符集
character_set_system:系统字符集,这个值总是utf8,不需要设置。这个字符集用于数据库对象(如表和列)的名字,也用于存储在目录表中的函数的名字。

由于大多数项目中使用的通常都是utf8字符集为统一编码,所以在这里需要将character_set_filesystem之外其他字符集设置成为utf8。

应用程序在启动服务时都会预先加载相应的配置文件,大部分是以.ini结尾,所以在启动MySQL服务时也会加载相应的配置文件,需要找到MySQL安装目录下的配置文件(my.ini),默认位置在安装目录的根目录下。
打开mysql 5.6.44目录后会发现名为my-default.ini的文件,并没有my.ini文件,这时需要copy一份my-default.ini文件取名为my.ini,然后打开my.ini文件,并在[mysqld]下增加

character_set_server=utf8
collation-server=utf8_general_ci

在文件末尾增加

[client]
default-character-set=utf8

3.重新在dos窗口下输入show variables like 'char%'命令,发现下面的问题
在这里插入图片描述
character_set_database与character_set_server仍是latinl字符集。这是因为(划重点):在修改MySQL的配置文件后必须重新启动MySQL服务才可以使配置文件生效。然后要做的就是重启MySQL服务。
步骤: windows+r在输入框中输入services.msc命令,找到MySQL服务右键重新启动服务
在这里插入图片描述
在这里插入图片描述
4.dos窗口重新进入连接MySQL数据库(同1),输入show variables like 'char%'命令。(重新操作前先exit上一次连接!)。成功修改为utf8字符集。
在这里插入图片描述
MySQL字符集设置完成,但是用Navicat连接数据库时能正常插入数据吗?
新建数据库tema,然后新建一张表playerinfo,并插入数据(根据个人需要,新建数据表)。
在这里插入图片描述
我们使用Navicat图形化窗口和dos窗口分别查看表数据
在这里插入图片描述
在这里插入图片描述

问题来了,在Navicat中出现了乱码情况,这是因为在使用Navicat连接MySQL数据库时没有使用MySQL默认字符集,接下来解决问题二。


  • 解决Navicat for MySQL字符集编码问题

    1.找到已经连接的数据库
    在这里插入图片描述
    2.右击找到连接属性打开窗口
    在这里插入图片描述
    3.点击高级并勾选使用MySQL字符集点击确定。

在这里插入图片描述
4.打开Navicat视图查看playerinfo表数据,到此MySQL免解压版与Navicat for MySQL编码冲突问题解决。

在这里插入图片描述

心得总结

大多项目中通常使用utf8字符集来作为统一的编码规范,在安装MySQL时如果不设置字符集为utf8,则系统默认为latinl字符编码方式,所以使用图形化管理工具创建数据库时如果碰到字符乱码问题,首先查看我们的MySQL数据库与图形化管理工具字符编码是否一致,然后逐一排查问题。在eclipse或Intellij IDEA等编程工具中使用JDBC连接数据库操作时也要确保相应的统一编码规范,这样才能减少操作的数据出现乱码的情况。在查找问题的过程中要理清问题所在并逐一排除,每一个问题都有相应的原因,理清思路,对症下药是解决问题的关键。
以上就是对Windos操作系统下MySQL免解压版与Navicat for MySQL编码冲突问题的解决方案与心得总结,希望对出现该问题的人有所帮助。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值