Funktioniert das MySQLdb-Modul in python gibt utf8-Codierung oder unicode in diesem Fall?
Mit MySQLdb ich eine Verbindung zu einer Datenbank, wo alles gespeichert ist in der utf8-Kodierung.
Wenn ich
cursor.execute("SET NAMES utf8")
Holen und einige Daten aus der Datenbank durch eine andere Anweisung. Bedeutet das, dass die Saiten in
cursor.execute("SELECT ...")
cursor.fetchall()
werden in unicode? Oder muss ich drehen Sie Sie zuerst von
mystr.decode("utf8")
unicode?
- Was bedeutet
repr()
sagen Sie? - Zum Beispiel diese Zeichenfolge
repr("Naïve")
Ergebnisse inNa\xc3\xafve
. Ist es das, was du meintest? - Hängt davon ab. Hast du das aus der Datenbank?
- Ja, der string
"Naïve"
ist aus der Datenbank. Ich nahm es, wie ich schon in meiner Frage oben...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom die docs:
cursor.execute("SET NAMES utf8")
würde sicherstellen, dass alle string-transfers zwischen der Datenbank und das Skript wird inutf8
. Bedeutet das, wenn ichcursor.execute("SET NAMES utf8")
und ich habe den keyword-parameteruse_unicode
meine Saiten gegriffen werden, wieutf8
und zurückgegeben werden, wieunicode
?charset
argument.