1.出现问题
当我们在插入数据时提示'[HY000][1366] Incorrect string value: '\xE9\x9F\xA9\xE6\x84\x88' for column 'name' at row 1'
2.问题分析
使用命令查看user表:show create table user;
可以看到charset设置为latin1,latin1不支持中文字符,因此我们需要修改编码格式
3.解决问题
- 修改student表编码格式:alter table user default character set utf8;修改之后再次使用命令(show create table user;)查看user表
此时表的编码格式为utf8,但是列的编码格式仍为latin1
- 修改列的编码格式:alter table user change name name varchar(40) character set utf8;
再插入数据就可以插入成功
如果表单还有其他varchar或者char类型的列,则要将name改为报错类型,继续修改。