Hallo,
die Umstellung von Django auf Bottle läuft hier soweit ganz geschmeidig. Was mir allerdings Kopfzerbrechen bereitet ist das Encoding der Daten die aus einem Http-POST zurückkommen, also aus einem einfachen Texteingabefeld der Webseite. Der Inhalt von request.POST['irgendwas'] ist bei Django vom Typ Unicode, bei bottle hingegen vom Typ String ...
Werden über die Webseite Daten mit Umlauten drin eingegeben führt das zu Problemen bei den anderen Modulen, uA der Datenbank.
Kann ich bottle dazu bringen sich hier wie Django zu verwalten, bzw, wie kann ich den String wieder in ein verdauliches Unicode umwandeln? alle meine Versuche mit .decode, .encode schlugen bisher fehl ...
ich verwende python 2.5 und bottle 0.6.2
vielen Dank schonmal vorab.
[bottle] von django zu bottle, Probs mit Umlauten
Es wäre angebracht, diese dann mal mit Fehlermeldung zu posten.Oscar426 hat geschrieben:alle meine Versuche mit .decode, .encode schlugen bisher fehl ...
`decode` mit bottle und POST funktioniert bei mir problemlos, hier ein Beispiel:
http://bitbucket.org/ms4py/bottle-wiki/ ... .py#cl-164
Edit: Vielleicht versuchst du es auch mal mit einer neuen Version von bottle, wenigstens die aktuelle aus dem PyPI.
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
HTTP überträgt kein Unicode, sondern Byte Strings. Daher liefert Bottle die Daten auch unverändert. Wenn du die HTML Seite als utf8 auszeichnest, werden die meisten Browser Umlaute in utf8 kodieren. Ein .decode('utf8') sollte dir also die gewünschten unicode-strings liefern.
Bottle: Micro Web Framework + Development Blog
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ohne ein Fass aufmachen zu wollen: Aber liegt da nicht das Problem bei Python3 und WSGI?Defnull hat geschrieben:HTTP überträgt kein Unicode, sondern Byte Strings. Daher liefert Bottle die Daten auch unverändert.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Das Python3/WSGI Problem ist ein Anderes. Vor allem da der OP Python 2.x verwendet.
Bottle: Micro Web Framework + Development Blog
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Nee, ich meinte nicht das Problem des OPs, sondern Py3 & WSGI im Allgmeinen. Aber ok. Habe ich es immer noch nicht verstandenDefnull hat geschrieben:Das Python3/WSGI Problem ist ein Anderes. Vor allem da der OP Python 2.x verwendet.
