Mysql
 sql >> Datenbank >  >> RDS >> Mysql

UnicodeEncodeError:Der Codec „latin-1“ kann kein Zeichen codieren

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() .