Посмотрите на следующее:
/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-байтового юникода усекает вставленную строку.
Я погуглил такую проблему и обнаружил, что mysql до 5.5.3 не поддерживает 4-байтовый юникод, и, к сожалению, у меня 5.5.224.
Я не хочу обновлять сервер mysql, поэтому я просто хочу отфильтровать 4-байтовый юникод в python, я пытался использовать регулярное выражение, но потерпел неудачу.
Итак, какая-нибудь помощь?