Ich bin auf dasselbe Problem gestoßen, als ich das Python MySQLdb-Modul verwendet habe. Da Sie mit MySQL nahezu alle gewünschten Binärdaten in einem Textfeld speichern können, unabhängig vom Zeichensatz, habe ich hier meine Lösung gefunden:
UTF8 mit Python MySQLdb verwenden
Bearbeiten:Zitieren Sie von der obigen URL, um die Anfrage im ersten Kommentar zu erfüllen ...
„UnicodeEncodeError:‚latin-1‘ Codec kann Zeichen nicht codieren …“
Dies liegt daran, dass MySQLdb normalerweise versucht, alles in Latin-1 zu codieren. Dies kann behoben werden, indem Sie die folgenden Befehle direkt nach dem Herstellen der Verbindung ausführen:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
"db" ist das Ergebnis von MySQLdb.connect()
, und "dbc" ist das Ergebnis vondb.cursor()
.