Narazil jsem na stejný problém při použití modulu Python MySQLdb. Protože MySQL vám umožní ukládat téměř jakákoli binární data, která chcete, do textového pole bez ohledu na znakovou sadu, našel jsem své řešení zde:
Upravit:Citujte z výše uvedené adresy URL, abyste splnili požadavek v prvním komentáři...
"UnicodeEncodeError:'latin-1' kodek nemůže zakódovat znak..."
Je to proto, že MySQLdb se normálně snaží zakódovat vše do latin-1. To lze opravit provedením následujících příkazů ihned po navázání připojení:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
"db" je výsledkem
MySQLdb.connect()
a "dbc" je výsledkemdb.cursor()
.