Python 1366 mysql朱银福号的字符串值不正确

Python 1366 mysql朱银福号的字符串值不正确,python,mysql,utf-8,mysql-python,Python,Mysql,Utf 8,Mysql Python,MySQLdb引发了不正确的字符串值错误 _mysql_exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\xA0\ \x84\\x8E\\xE2\\x8B...' for column 'from_url' at row 1") 但是我已经将连接字符集和从url编码设置为utf8。对于以前的记录,它可以毫无问题地工作数百万次 将导致异常的值: 我认为这个问题与汉字u'\U0002010e'有关ㄋ u'htt

MySQLdb引发了不正确的字符串值错误

_mysql_exceptions.OperationalError: (1366, "Incorrect string value: '\\xF0\\xA0\
\x84\\x8E\\xE2\\x8B...' for column 'from_url' at row 1")
但是我已经将连接字符集和从url编码设置为utf8。对于以前的记录,它可以毫无问题地工作数百万次

将导致异常的值: 我认为这个问题与汉字u'\U0002010e'有关ㄋ

u'http://www.ettoday.net/news/20120227/27879.htm?fb_action_ids=305328666231772&
fb_action_types=og.likes&fb_source=aggregation&fb_aggregation_id=288381481237582
 \u7c89\u53ef\u611b\U0002010e\u22ef http://www.ettoday.net/news/20120221/26254.h
tm?fb_action_ids=305330026231636&fb_action_types=og.likes&fb_source=aggregation&
fb_aggregation_id=288381481237582 \u597d\u840c\u53c8\u22ef'
但是这个字符也可以在python中编码为utf8

>>> u'\U0002010e'.encode('utf8')
'\xf0\xa0\x84\x8e'

那么为什么MySQL不能接受这个字符呢?

检查您为MySQL设置的字符集编码,确保您使用的是一个接受utf8编码的字符集编码

检查您为MySQL设置的字符集编码,确保您使用的字符在BMP之外,因此,它需要4个字节来存储。使用utf8字符集是不够的;您必须使用MySQL 5.5或更高版本,并改用utf8mb4字符集。

您使用的字符在BMP之外,因此需要4个字节来存储。使用utf8字符集是不够的;您必须使用MySQL 5.5或更高版本,并改用utf8mb4字符集。

thx,“utf8_mb4”不适用于我的MySQL,但utf8mb4确实适用!thx,‘utf8_mb4’不适用于我的mysql,但utf8mb4确实适用!