Посмотрите на следующее:Предупреждение поднят путем вставки 4-байтовое Юникода в 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-байтовый юникод, он усекает вставленную строку. Я столкнулся с такой проблемой и нашел, что mysql под 5.5.3 не поддерживает 4-байтовый юникод, и, к сожалению, мой 5.5.224. Я не хочу обновлять mysql-сервер, поэтому просто хочу отфильтровать 4-байтовый unicode в python, я попытался использовать регулярное выражение, но не смог. Итак, любая помощь?
Это FISTED HAND SIGN цвет emoji: '' ... –
@MartijnPieters - 'unicodedata.name (" \ U0001 f62a ")' говорит '' SLEEPY FACE'' (что было бы 'b '\ xf0 \ x9f \ x98 \ xaa'' в utf-8), поэтому некорректно здесь ... – mata
Собственно, это сонливость лицо. Я соскабливаю страницы из 'sina weibo' (твиттер в Китае), и я царапал такой« SLEEP FACE ». – Kinka