Mi sono imbattuto in questo stesso problema durante l'utilizzo del modulo Python MySQLdb. Poiché MySQL ti consentirà di archiviare praticamente tutti i dati binari che desideri in un campo di testo indipendentemente dal set di caratteri, ho trovato la mia soluzione qui:
Utilizzo di UTF8 con MySQLdb Python
Modifica:citare dall'URL sopra per soddisfare la richiesta nel primo commento...
"UnicodeEncodeError:il codec 'latin-1' non può codificare il carattere ..."
Questo perché MySQLdb normalmente tenta di codificare tutto in latin-1. Questo può essere risolto eseguendo i seguenti comandi subito dopo aver stabilito la connessione:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
"db" è il risultato di MySQLdb.connect()
e "dbc" è il risultato di db.cursor()
.