插入表情进mysql报错_python MySQL_client 存储表情到 MySQL 报错

问题如下

使用 navicate 管理工具, 可以正常执行SQL

使用 python 代码插入数据到mysql报错, 数据库版本 8.0

报错信息如下

MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x90\\xAF' for column 'digest' at row 1")

执行的SQL

insert into wechat_article values (null, '虎牙在全球 DNS 秒级生效上的实践', '🐯', 'http://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653198391&idx=2&sn=32020f7f751d819154938407268746e3&chksm=8c99eaedbbee63fba144b7877c318764aaa8584e62ec174133d1d9ccae4a11ba3ce4b5235612&scene=27#wechat_redirect', 'http://mmbiz.qpic.cn/mmbiz_jpg/qdzZBE73hWv3P1NgUjEtnhvPVuMCjibe8nlSvYMWf0Wt6ibSibqsYcYHgZFMQGmaQNII3cRWad9LmgqqkOslzgIibg/0?wx_fmt=jpeg', '周健&李志鹏')

数据库和数据表

CREATE DATABASE `wechat_article` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */

CREATE TABLE `wechat_article` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`title` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,

`digest` text COLLATE utf8mb4_bin,

`content_url` text COLLATE utf8mb4_bin,

`cover` text COLLATE utf8mb4_bin,

`author` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `title` (`title`),

KEY `author` (`author`)

) ENGINE=InnoDB AUTO_INCREMENT=1361 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

python 代码

import MySQLdb

con = MySQLdb.connect(

host='127.0.0.1',

port=3306,

user='wechat_article',

passwd='wechat_article',

db='wechat_article',

charset='utf8mb4'

)

cursor = con.cursor()

# sql = "insert into wechat_article values (%s,%s,%s,%s,%s,%s)"

sql = "insert into wechat_article values(Null, '虎牙在全球 DNS 秒级生效上的实践', '🐯', 'http://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653198391&idx=2&sn=32020f7f751d819154938407268746e3&chksm=8c99eaedbbee63fba144b7877c318764aaa8584e62ec174133d1d9ccae4a11ba3ce4b5235612&scene=27#wechat_redirect', 'http://mmbiz.qpic.cn/mmbiz_jpg/qdzZBE73hWv3P1NgUjEtnhvPVuMCjibe8nlSvYMWf0Wt6ibSibqsYcYHgZFMQGmaQNII3cRWad9LmgqqkOslzgIibg/0?wx_fmt=jpeg', '周健&李志鹏');"

cursor.execute(sql)

con.commit()

cursor.close()

con.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值