问题遇到的现象和发生背景
mysql数据库中添加中文后报错:1366: Incorrect string value: ‘\xE9\x9……
修改ini文件之后也没有成功解决
mysql数据库中添加中文后报错:1366: Incorrect string value: ‘\xE9\x9……
修改ini文件之后也没有成功解决
这是编码问题,只要将表的类型修改为utf-8就ok了。
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;