我爱模板网新建了个MySQL数据库,往里面插入内容时,报了下面的错误:
1366: Incorrect string value: '我爱模板网' for column 'name' at row 1
插入英文或数字没问题,应该是字符编码问题。打开表的结构看看,果然,没有设置编码,如下:
“排序规则”设置为“utf8_general_ci”即可,即“Unicode, 不区分大小写”的意思:
或者执行SQL语句修改也行:
1 | alter table 数据库名.表名 convert to character set utf8; |
如果很多表都存在这个问题,则执行:
1 | alter database 数据名 character set utf8; |
如果在创建数据库时就解决这个问题可以在建表时加:
1 | ENGINE=InnoDB DEFAULT CHARSET=utf8 |
如:
2 | newId int not null auto_increment, |
6 | foreign key(newId) references new(newId) |
7 | )ENGINE=InnoDB DEFAULT CHARSET=utf8; |
至此问题解决。