错误代码: 1366
Incorrect string value: ‘xE5xBCxA0xE4xB8x89…’ for column `student`.`student`.`studentname` at row 1
原因分析:
在创建数据库的时候没有指定数据库的字符集,直接用下面命令创建:
DROP DATABASE IF EXISTS student;
CREATE DATABASE student;
并且在安装数据库时也没有修改配置文件指定默认数据库的字符集。查询字符集命令:
SHOW VARIABLES LIKE ‘%char%’;
在mysql中新建数据库,如果只写数据库名,没有设置字符集和排序规则,默认字符集为latin1 ,排序规则为latin1_swedish_ci 。创建的数据库不是utf-8字符集,而latin1是不支持中文的。所有提示错误1366错代码。
解决办法:
重新创建数据库命令如下:
CREATE DATABASE `student` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
或者修改数据库字符集命令如下:
alter database student character set utf8;
修改完成数据库字符集,重启数据库,然后在修改表字符集命令如下:
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
在修改列字符集,命令如下:
ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
注:如果我们在数据库要存储中文数据,创建数据库时千万别忘了设置utf-8字符集。
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/27808.html