Seite 1 von 1
Verfasst: Donnerstag 7. Dezember 2006, 20:08
von mitsuhiko
jens hat geschrieben:Und, ja, ich werde auf SQLAlchemy umsteigen
btw. wie bekommt man da die Daten zurück? Direkt als unicode oder in dem encoding der DB???
Wenn du eine Column als "String" im table definierst bekommst du das encoding zurück, oder bullshit. Letzteres besonders gerne beim MySQL adapter. Das würde ich gar nicht verwenden. Wenn deine Column als "Unicode" definiert ist bekommst du, tadadada: unicode
Verfasst: Mittwoch 13. Dezember 2006, 10:15
von jens
Verfasst: Donnerstag 8. Februar 2007, 18:17
von jens
geraldf hat geschrieben:Interface-Änderung zwischen den Versionen 1.2.1c3 und and 1.2.1_p2.
Alte Version: cursor.execute() erhält einen String als Parameter.
Neue Version: cursor.execute() erwartet ein Unicode-Objekt.
Da hat sich wohl noch mehr geändert...
Beim connecten kann man einmal ein kwarg "charset" angeben, in einer älteren v1.2.1 nicht, dafür aber "use_unicode"...
Irgendwie blicke ich in den Versionnummern nicht durch. Von daher kann man auch schlecht testen, welches kwargs nun geht, wie hier:
Code: Alles auswählen
from MySQLdb import version_info
if version_info < (1, 2, 1):
# Für alte Versionen
kwargs["use_unicode"] = True
else:
# ab python-mysqldb v1.2.1
kwargs["charset"] = self.encoding
Ich hab es jetzt so gemacht: Ich probiere es mit dem neuen "charset"="utf8", wenn das nicht geht, setzte ich "use_unicode"=true
Ich frage mich dann, ob der trac-Patch auch richtig arbeitet.