如何在Python中使用utf8mb4正确编码?
我目前正在尝试将数据从Parse迁移到我自己的MySQL数据库中。对于一个字段,在phpmyadmin上,我有utf8mb4_unicode_ci作为排序规则。但是,在以unicode(' \ xF0 \ x9F \ x8C \ x83')上传表情符号时,结果是:
message = MySQLdb.escape_string(unicode(xstr(data.get('message'))).encode('utf-8'))
其中xstr()是:
def xstr(s):
if s is None:
return ''
return s
然而,我收到错误:
Warning: Incorrect string value: '\xF0\x9F\x8C\x83' for column 'message' at row 1...
我也尝试过不使用.encode(' utf-8'),不使用unicode()等。看似所有的组合。我现在想我需要在utf8mb4中编码表情符号字符串 - 任何人都知道如何做到这一点?