首先在连接数据库的情况下运行show variables like 'character%' ;下图为正确示例
如果value值中出现Latinl
执行
set names utf8
执行SET NAMES utf8的效果等同于同时设定如下:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
SET character_set_database='utf8';
SET character_set_system='utf8';
然后在/etc/my.cnf文件下手动配置[client]选项并在该选项下加入:default-character-set=utf8
在/etc/my.cnf.d目录下的mysql,mysqld,client文件下分别添加如上语句
default-character-set=utf8
character_set_server=utf8
default-character-set=utf8
注意:如果修改后不能启动报错试试把default-character-set=utf8改为character_set_server=utf8;我这里遇到了该问题,所以去掉了default后就正常了 ,脚本中没有使用default-character-set=utf8。
执行成功后一定要删除数据库,用drop database 数据库名称,重新建数据库,就可以啦。