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: unicodejens 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???
Probleme mit MySQLdb - Warnung
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
TUFKAB – the user formerly known as blackbird
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Da hat sich wohl noch mehr geändert...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.
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 frage mich dann, ob der trac-Patch auch richtig arbeitet.