Python connection SQL error: 1366, "Incorrect string value: '\xF0\x9F\x98\x81'
Description of the problem:
An error occurs when performing data insertion after connecting to MySQL
Change the encoding format .
Database, table, and column encoding formats all need to be changed.
—————————————————————————–
- Modify database encoding
Revise
ALTER DATABASE database_name CHARACTER SET utf8;
Specify database character encoding when creating database
CREATE DATABASE database_name CHARACTER SET utf8;
—————————————————————————–
- Modify table encoding
ALTER TABLE `table_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
COLLATE:
数据库校对规则——
utf8_general_ci大小写不敏感;
utf8_general_ci` is case sensitive.
- Create table and specify table encoding and column encoding
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;
—————————————————————————–
- Modify column encoding
ALTER TABLE `table_name` CHANGE `column_name` `column_name` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL