Python中MySQLdb执行插入操作时

python连接SQL报错:1366, “Incorrect string value: ‘\xF0\x9F\x98\x81’

问题描述:
当连接MySQL后执行数据插入时出错

更改编码格式
数据库、表及列编码格式都需要更改。

—————————————————————————–

-修改数据库编码

  1. 修改

    ALTER DATABASE database_name CHARACTER SET utf8;

  2. 创建数据库时指定数据库字符编码

    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

猜你喜欢

转载自blog.csdn.net/yuberhu/article/details/78765859