环境
操作系统ubuntu18.04 mysql5.7
问题解决
我的问题是这样的,我在navicat中插入的数据,当然我的插入语句是从一份word文档中粘贴的,复制到navicat中之后是可以运行的,但是呢,我发现复制粘贴来的sql语句好像与自己手动再navicat中敲的字体格式都不太一样。不知道是不是错觉,反正小心为妙。
然后问题就来了,数据插入到Mysql中之后,只要是中文就全部是乱码。
然后尝试各种解决
在mysql端的解决
在命令行进入mysql之后
mysql> set character_set_client = ‘utf8’;
mysql> set character_set_connection = ‘utf8’;
mysql> set character_set_results = ‘utf8’;
mysql> set character_set_server = ‘utf8’;
mysql> set character_set_database = ‘utf8’;
将编码全部设置为utf-8,但是问题并没有解决
在Navicat端解决
右击要操作的表,选择设计表,然后到options选项
Character set选项 和 Collation选项设置成如图所示,记得千万要点
左上角save键
然后同样是在设计表界面,在Fileds选项卡,将类型为varchar的字段类型的Character set选项 和 Collation选项同样改为如图所示
记得保存。
当执行到这里的时候我以为已经正常了,结果在Navicat端查看表的内容时中文全部是???
最重要的一步来了,关闭你的Navicat对Mysql的连接然后右击连接,选择编辑连接,在Advance(高级)选项这里有编码,本以为其他字段都更改为了utf8这里应该也修改为utf8,实则不然 要将其设置为Auto选项,如图
然后ok,开启连接
问题解决