今天,重写安装了MySQL5.7.23程序。安装成功后,默认创建了一个数据库和一张表,然后插入中文,报字符集错误提示:
Error Code: 1366. Incorrect string value: '\xE5\x93\x87' for column 'name' at row 1
这个错误,以前就遇到过,解决后,也没有及时整理。借此机会,重新整理一下,发表出来,希望可以帮助大家。
第一步:先查询数据库支持的字符集
SQL语句: show variables like 'character%'; 参考下图:
最好character_set_client,character_setdatebase,character_set_server这三个属性都是utf-8,如果不是请继续往下看
第二步:找到my.ini文件,进行修改
有的人不知道my.ini文件在哪里,可以使用SQL语句:show variables like 'datadir%',查看data目录,通常my.ini文件和data目录在同一级下。
找到后,使用你喜爱的编辑工具打开进行修改:
如图所示,66行处,添加客户端的字符集为utf8。77行处,添加服务端的字符集为utf8
第三步:重启mysql服务
可以去任务管理器中,重启mysql的服务
第四步:再次查看一下当前数据库的字符集
SQL语句: show variables like 'character%';
第五步:可以测试是否可以插入中文,如果还不行,修改数据库和表的字符集
修改数据库的字符集:alter database dbname
character set utf8;
修改表的字符集:alter table tablename
convert to character set utf8;