场景
Navicat for MySQL,数据库连接工具
表描述,表数据中文均正常,只有字段注释中文乱码
过程
百度过程中...
1.各种my.ini设置UTF8,重启MySQL服务(已设过,非根本原因)
2.执行SQL查看编码是否UTF8,设置编码为UTF8(设完无效果,非根本原因)
show variables like 'char%';
show variables like 'collation_%';
3.导航猫-连接属性-高级(无效果,反而表描述、表数据、字段注释中文从乱码变????)
编码=65001(UTF8)(也有说设置自动,但是我这个版本的导航猫没自动这个选项)
使用MySQL字符集-取消勾选
解决方案
1.查看系统本身的编码,打开命令行输入chcp
如果Active code page(活动代码页)值不是65001(UTF8),而是其他比如936(GBK)
注:这个就是我这个场景的根本原因,现在要做的就是把值设为65001
2.以WIN10为例,设置-时间和语言
3.区域和语言-管理语言设置
4.区域-管理(选项卡)-更改系统区域设置-勾选-Beta版:使用Unicode UTF-8提供全球语言支持
5.重启电脑,系统编码已经为UTF8
6.导航猫-连接属性-高级-勾选使用MySQL字符集
7.问题解决
改系统编码后,有部分旧txt和程序(如网易有道词典)出现乱码。。 如非必要还是不建议改系统编码
注:仅供自己学习,记录问题和参考,若有带来误解和不便请见谅,共勉!