python连接SQL报错:1366, “Incorrect string value: ‘\xF0\x9F\x98\x81’
问题描述:
当连接MySQL后执行数据插入时出错
更改编码格式。
数据库、表及列编码格式都需要更改。
—————————————————————————–
-修改数据库编码
修改
ALTER DATABASE database_name CHARACTER SET utf8;
创建数据库时指定数据库字符编码
CREATE DATABASE database_name CHARACTER SET utf8;
—————————————————————————–
-修改表编码
ALTER TABLE `table_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
COLLATE:
数据库校对规则——
utf8_general_ci大小写不敏感;
utf8_general_ci`大小写敏感。
-创建表并指定表编码和列编码
CREATE TABLE table_name (
id int(10) unsigned NOT NULL auto_increment,
column1 enum('Y','N') character set utf8 NOT NULL default 'N',
column2 int(5) NOT NULL default '0',
column3 varchar(50) character set utf8 NOT NULL default '',
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
—————————————————————————–
-修改列编码
ALTER TABLE `table_name` CHANGE `column_name` `column_name` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL