我需要(在 Python 中)将 4 字节字符转换为其他字符。这是将其插入到我的 utf-8 mysql 数据库中而不会出现错误,例如:“Incorrect string value: '\xF0\x9F\x94\x8E' for column 'line' at row 1”
通过将 4 字节 unicode 插入 mysql 引发的警告显示以这种方式执行此操作:
>>> import re
>>> highpoints = re.compile(u'[\U00010000-\U0010ffff]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '
但是,我在评论中遇到与用户相同的错误,“...错误的字符范围..”这显然是因为我的 Python 是 UCS-2(不是 UCS-4)构建。但是后来我不清楚该怎么做?