问题及解决方法
报错信息
[HY000][1366] Incorrect string value: '\xE5\xB0\x8F\xE8\x8A\xB3' for column 'Name' at row 1
问题是出在中文数据编码上。
出现问题时的解决方法:
- 显示表的字符集:
show create table table_name;
- 表字符集,修改为utf8
alter table table_name default character set utf8;
- 指定字段字符集,修改为utf8
alter table table_name change c1 c1 varchar(50) character set utf8;
总结回顾
记得当初学习MysqL时,在实验中,时时做的是设置utf8
。
中文编码问题的预防步骤
charset gbk;
show variables like '%char%';
结果Value列里不能出现latin1
。
- 修改为utf8
set Variable_name=utf8;