Предупреждение возникает при вставке 4-байтового Unicode в MySQL
Посмотрите на следующее:
/home/kinka/workspace/py/tutorial/tutorial/pipelines.py:33: Warning: Incorrect string
value: '\xF0\x9F\x91\x8A\xF0\x9F...' for column 't_content' at row 1
n = self.cursor.execute(self.sql, (item['topic'], item['url'], item['content']))
Строка'\xF0\x9F\x91\x8A
На самом деле это 4-байтовый юникод:u'\U0001f62a'
, Набор символов mysql - это utf-8, но при вставке 4-байтового Unicode он усекает вставленную строку.
Я гуглил такую проблему и обнаружил, что mysql под 5.5.3 не поддерживает 4-байтовый юникод, и, к сожалению, мой - 5.5.224.
Я не хочу обновлять сервер MySQL, поэтому я просто хочу отфильтровать 4-байтовый Unicode в Python, я попытался использовать регулярное выражение, но не получилось.
Итак, любая помощь?