环境:
windows10
MySql:5.7.26.0
现象:数据库与表创建的时候都设置成了utf8。数据入库后中文字段全部显示????,但手动输入文字正常显示。
解决办法:
1、启动Mysql workbench。
2、新建Sql窗口,输入以下语句:
show variables like ‘%character%’;
show variables like ‘%collation%’;
查询结果中有非utf8的值出现。(如:latin1)
3、在安装路径下查找my.ini配置文件,修改里面的两个设置:
characte-set-server=utf8
default-character-set=utf8
**备注:
a、有些时候在安装路径下找不到my.ini文件,若遇到这种,打开开始菜单找到Mysql 客户端,右键查看属性。
b、修改ini之前一定要备份之前的原文件,备份!备份!备份!
c、在修改ini文件时出现修改后Mysql服务启动不了,后来用notepad++打开修改保存就可以,据说是记事本保存的编码方不对,但我用记事本另存成utf8也不行,不清楚什么原因。
**
4、任务管理中选择打开服务列表,找到Mysql的服务,右键重启。
重新连接数据库,输入第二步sql语句查询发现值都更改成utf8,数据入库也正常。
问题解决完成!!