Python 使用MySQLdb的SQLAlchemy双正斜杠问题

Python 使用MySQLdb的SQLAlchemy双正斜杠问题,python,mysql,utf-8,sqlalchemy,mysql-python,Python,Mysql,Utf 8,Sqlalchemy,Mysql Python,我已经找了好几个小时了。我在Facebook上发表文章,希望使用python中的SQLAlchemy将它们解析为mysql数据库。 Facebook上的帖子包括笑脸和一些特殊人物 SQLALCHEMY数据库URI如下所示: SQLALCHEMY\u数据库\u URI=“mysql+mysqldb://...?charset=utf8&use_unicode=0" 在提交到数据库之前,我还使用utf8编码: 字符串编码(“utf-8”) 通过测试这里的几个问题/答案,我仍然遇到了这个问题: sql

我已经找了好几个小时了。我在Facebook上发表文章,希望使用python中的SQLAlchemy将它们解析为mysql数据库。 Facebook上的帖子包括笑脸和一些特殊人物

SQLALCHEMY数据库URI如下所示:
SQLALCHEMY\u数据库\u URI=“mysql+mysqldb://...?charset=utf8&use_unicode=0"

在提交到数据库之前,我还使用utf8编码:
字符串编码(“utf-8”)

通过测试这里的几个问题/答案,我仍然遇到了这个问题:

sqlalchemy.exc.OperationalError:(_mysql_exceptions.OperationalError)(1366,“不正确的字符串值:'\\xF0\\x9F\\x8C\\x9E\\xF0\\x9F…'


您是否尝试过使用
utf8mb4
而不是
utf8


您是否尝试过使用
utf8mb4
而不是
utf8


您使用的是Python 2?如果不是,。如果您是,并且希望获得可能的性能提升,请让SQLAlchemy为您处理编码,或者换句话说,不要手动编码。您的问题缺少,因此很难说具体发生在何处,但这看起来像是某种双重转义的结果。您使用的不是字节,而是字符串表示字节转义序列的排序(例如,由错误处理程序反斜杠替换生成)。谢谢@IljaEverilä的评论。是的,我正在使用2.7将该信息添加到我的问题中,并尝试为mcve改进它。如果我不编码字符串,我还会遇到解析错误,使用双前引号。您使用的是Python 2?如果不是。如果是,并且希望获得可能的性能提升,请让SQLAlchemy为您处理编码,或者使用ot她的单词没有手动编码。你的问题没有,所以很难说它到底发生在哪里,但这看起来像是某种双重转义的结果。你得到的不是字节,而是字节转义序列的字符串表示(例如,由错误处理程序反斜杠替换生成)。谢谢@IljaEverilä的评论。是的,我正在使用2.7将该信息添加到我的问题中,并尝试为mcve改进它。如果我没有对字符串进行编码,我也会遇到使用双前向引号的解析错误。是的,我有。它会导致相同的问题。@JustusNiemzok-但是您是否更改了
?charset=utf8&使用\u unicode=0
?和table/column
字符集
utf8mb4
是@JustusNiemzok所必需的-您知道在您的情况下需要哪些建议吗?是的。我没有将mysql表/列字符集设置为utf8mb4。在我更改和
之后,charset=utf8&使用_unicode=0
@RickJames
True
,而不是
0
。Ye它导致了同样的问题。@JustusNiemzok-但是您是否更改了
?charset=utf8&use_unicode=0
?并且@JustusNiemzok需要表/列
字符集
utf8mb4
-您知道在您的情况下需要哪些建议吗?是的。我没有设置mysql表/列字符集设置为utf8mb4。在我更改并
后,charset=utf8&使用_unicode=0
@RickJames
True
,而不是
0