首页 > 建站教程 > 数据库 >  MySQL报错:1366: Incorrect string value: ''的解决办法正文

MySQL报错:1366: Incorrect string value: ''的解决办法

我爱模板网新建了个MySQL数据库,往里面插入内容时,报了下面的错误:

1366: Incorrect string value: '我爱模板网' for column 'name' at row 1

插入英文或数字没问题,应该是字符编码问题。打开表的结构看看,果然,没有设置编码,如下:



“排序规则”设置为“utf8_general_ci”即可,即“Unicode, 不区分大小写”的意思:



或者执行SQL语句修改也行:
alter table 数据库名.表名 convert to character set utf8;
如果很多表都存在这个问题,则执行:
alter database 数据名 character set utf8;
如果在创建数据库时就解决这个问题可以在建表时加:
ENGINE=InnoDB DEFAULT CHARSET=utf8
如:
create table newsBody(
    newId int not null auto_increment,
    article text not null,
    bimage varchar(100),
    primary key(newId),
    foreign key(newId) references new(newId)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
至此问题解决。