Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

时间:2021-07-14 20:15:50

create table my_user (
   id tinyint(4) not null auto_increment,
   account varchar(255) default null,
    password varchar(255) default null,
   primary key (id)  

 

插入语句
insert into my_user values('1','admin','admin');
insert into my_user values('2','admin','admin');
insert into my_user values('3','admin','admin');
insert into my_user values('4','admin','admin');
insert into my_user values('5','admin','admin');
insert into my_user values('6','admin','admin');
insert into my_user values('7','system','sysytem');
insert into my_user values('11','拆','巨白');

Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
出现这个错误的原因是,数据库的编码格式为latin1 而我要将utf8的中文插入到数据库中。
一开始修改  修改数据库的编码
alter table my_user default character set utf8;
但是插入中文依然出现错误。
然后通过查看数据表编码
    show create table score;
发现表的编码改过来了,但是列的编码却没有改过来
   alter table my_user change account account varchar(255) character set utf8;
   alter table my_user change password password varchar(255) character set utf8;

然后插入中文,查询正常~OK