Navicat for Mysql 字段注释中文乱码问题及解决
作者:乞力马扎罗の黎明
这篇文章主要介绍了Navicat for Mysql 字段注释中文乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题摘要
Navicat 中表描述中文均正常,只有字段注释中文乱码,原因是系统本身编码(命令行chcp)中为936(GBK)而不是65001(UTF8)造成的。
使用场景
Navicat for MySQL,数据库连接工具
表描述,表数据中文均正常,只有字段注释中文乱码
过程
1.各种my.ini设置UTF8,重启MySQL服务(已设过,非根本原因)
2.执行SQL查看编码是否UTF8,设置编码为UTF8(设完无效果,非根本原因)
show variables like 'char%';show variables like 'collation_%';
解决方案
1.查看系统本身的编码
打开命令行输入chcp
如果Active code page(活动代码页)值不是65001(UTF8),而是其他比如936(GBK)
如下所示:
注:这个就是我这个场景的根本原因,现在要做的就是把值设为65001
方法一:修改windows系统默认的编码格式
2.以WIN10为例
设置-时间和语言
3.语言-管理语言设置
4.区域
管理(选项卡)-更改系统区域设置-
勾选-Beta版:使用Unicode UTF-8提供全球语言支持
5.重启电脑
系统编码已经为UTF8
6.Navicat fo Mysql
-连接属性-高级--勾选使用MySQL字符集
7.问题解决
方法二:直接修改注册表,在注册表里添加系统的UTF-8格式
具体可参见下面这篇更新的最新文章,用于修改系统注册表的UFT8方法记录
WIN10的cmd查看编码方式,命令行窗口修改UTF-8编码
1、 快捷键 win+R, 在运行中输入"regedit"
2、找到注册表路径,添加utf-8变量值
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
3、添加注册表信息,即可永久修改系统格式。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。