Jeg stødte på det samme problem, da jeg brugte Python MySQLdb-modulet. Da MySQL vil lade dig gemme stort set alle binære data, du ønsker i et tekstfelt uanset tegnsæt, fandt jeg min løsning her:
Brug af UTF8 med Python MySQLdb
Rediger:Citer fra ovenstående URL for at imødekomme anmodningen i den første kommentar...
"UnicodeEncodeError:'latin-1' codec kan ikke kode tegn ..."
Dette skyldes, at MySQLdb normalt forsøger at kode alt til latin-1. Dette kan rettes ved at udføre følgende kommandoer lige efter, at du har oprettet forbindelsen:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
"db" er resultatet af MySQLdb.connect()
, og "dbc" er resultatet afdb.cursor()
.