Advertencia generada al insertar unicode de 4 bytes en mysql
Mira lo siguiente:
/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']))
La cuerda'\xF0\x9F\x91\x8A
, en realidad es un unicode de 4 bytes:u'\U0001f62a'
. El conjunto de caracteres de mysql es utf-8, pero al insertar unicode de 4 bytes, truncará la cadena insertada. Busqué en Google este problema y descubrí que mysql bajo 5.5.3 no es compatible con Unicode de 4 bytes, y desafortunadamente el mío es 5.5.224. No quiero actualizar el servidor mysql, así que solo quiero filtrar el código Unicode de 4 bytes en Python. Intenté usar una expresión regular pero fallé. Entonces, ¿alguna ayuda?