(1366, “Incorrect string value: ‘\\xE6\\xB7\\xB1\\xE5\\x85\\xA5…’ for column ‘ 今天遇到这个错误,发现是由于创建数据库时把编码格式弄错了,导致了出现如下错误。
- CREATE TABLE `tb_vote` (
- `voteID` int(11) NOT NULL auto_increment,
- `voteName` varchar(255) default NULL,
- `channelID` int(11) default NULL,
- PRIMARY KEY (`voteID`),
- KEY `channelID` (`channelID`)
- ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT=‘投票表’;
原来是gb1312后来我改成utf8后项目运行成功。以后注意这个问题。
1.查看数据库编码格式
1
|
mysql> show variables like 'character_set_database' ; |
2.查看数据表的编码格式
1
|
mysql> show create table <表名>; |
3.创建数据库时指定数据库的字符集
mysql>create database <数据库名> character set utf8;
4.创建数据表时指定数据表的编码格式
create table tb_books ( name varchar(45) not null, price double not null, bookCount int not null, author varchar(45) not null ) default charset = utf8;
5.修改数据库的编码格式
mysql>alter database <数据库名> character set utf8;
6.修改数据表格编码格式
mysql>alter table <表名> character set utf8;
7.修改字段编码格式
mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8; mysql>alter table user change username username varchar(20) character set utf8 not null;
8.添加外键
mysql>alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid); mysql>alter table <表名> add constraint <外键名> foreign key<字段名> REFERENCES <外表表名><字段名>;
9.删除外键
mysql>alter table tb_people drop foreign key fk_1; mysql>alter table <表名> drop foreign key <外键名>;