Ostrzeżenie podniesione przez wstawienie 4-bajtowego unicode do mysql
Spójrz na następujące:
/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']))
Ciąg'\xF0\x9F\x91\x8A
, faktycznie jest 4-bajtowym Unicode:u'\U0001f62a'
. Zestaw znaków mysql to utf-8, ale wstawienie 4-bajtowego unicode spowoduje obcięcie wstawionego ciągu. Poszukałem takiego problemu i odkryłem, że mysql w 5.5.3 nie obsługuje 4-bajtowego unicode i niestety mój jest 5.5.224. Nie chcę aktualizować serwera mysql, więc chcę po prostu filtrować 4-bajtowy unicode w pythonie, próbowałem użyć wyrażenia regularnego, ale nie powiodło się. Więc jakaś pomoc?