更改Mysql5.7.26的默认编码为utf8解决database为latin1无法修改问题
程序员文章站
2024-03-25 16:11:46
...
最近在官网下载过安装过一个mysql 5.7.26版本的 mac版本数据库
发现数据库在编写插入语句的时候一直会报错,提示你输入的某一行不正确,错误情况如下:
ERROR 1366 (HY000): Incorrect string value: '\xE8\xB5\xB5\xE9\x9B\xB7' for column 's_name' at row 1
当找到是因为字符集编码错误原因,我很开心的搜索了解决方案按照如下方法操作:
1、关闭mysql服务,设置里点开,关闭mysql服务;
2、修改字符集为utf8
打开终端输入 sudo vim /etc/my.cnf
按i键进入编辑模式并加入以下配置,
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
然后按esc键退出编辑模式按wq!保存;
3.启动mysql服务进入终端查看mysql字符集
查看当前字符集编码
show variables like '%char%';
这样就可以了!!!!!!!????????
还有一点设置好字符集 5.7.26有个点让人很难受 当你设置完之后你会发现,你之前建立的数据库还是latin1,无论你怎么设置都没有用的
标红处一直是database = latin1,
那是因为5.7的数据库里的database这个已经被官方弃用,如果不嫌麻烦把mysql升级到8.0就可以设置字符集,如果不设置的话,那么5.7.26里老的数据并不会随着你的设置而改变,除非你新建一个库把老的数据库都迁移过来然后手动改掉每个数据库的字符集,真他么坑