Ja, richtig.
Du hast richtig vermutet.
UTF-8 Probleme!
Ich habe wirklich schon alles probiert was geht, was geschrieben worden ist, was sich Google zu UTF und Python rausquetscht.
Webseitig bekommt man nur das schwarze Stopschild mit dem Fragezeichen zu sehen.
In MySQL sind die Umlaute da.
In MySQL ist an allen möglichen Stellen, die ich aufspüren konnte "utf8_unicode_ci" eingetragen.
Mein Python Code "todo.py", der mit Bottle zusammen spielt hat in der ersetn Zeile "# -*- coding: utf-8 -*-".
Genau so das Template!
DefNull hat geantwortet, das es wohl nicht an Bottle liegen wird.
Auf der Webseite kommt dann nur noch "schwarz" an.
Im Seitenquelltext sind bereits keine Umlaute zu sehen.
Was mache ich falsch?
Wo muß ich noch nachsehen?
Gibt es einen anderen Lösungsweg als UTF-8 der sinnvoll ist?
MrNiceTry
UTF-8 / Unicode / MySQL / Bottle / Python / Apache öäüÖÄÜ
@MrNiceTry: Ich denke Du musst an jeder Stelle "auf dem Weg" schauen, ob die die Daten noch korrekt sind, und so die Stelle finden, wo das halt nicht mehr der Fall ist.
Keine Ahnung, da gibts zu viele Unbekannte.MrNiceTry hat geschrieben:Was mache ich falsch?
Du musst einfach systematisch nach dem Fehler suchen und Fehlerquellen aussortieren. Zum Beispiel würde ich als ersten gucken, was mit Umlauten passiert die du aus dem Script selbst an das Template übergibst. Wenn die Ankommen musst du dir nochmal genau den Mysql-Teil angucken, wenn nicht, dann den Rest. Und so stückweise zum Problem vorarbeiten.Wo muß ich noch nachsehen?
Gibt es einen anderen Lösungsweg als UTF-8 der sinnvoll ist?[/quote]Nein, evtl. UTF-16 oder UTF-32.

- Käptn Haddock
- User
- Beiträge: 169
- Registriert: Freitag 24. März 2006, 14:27
Ich tippe auf ein falsches client_encoding beim Zugriff auf die Datenbank. Man sollte das auch bei MySQL beim Aufbau der Verbindung setzen können...
CU Uwe
CU Uwe
---------------------------------
have a lot of fun!
have a lot of fun!
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Was passiert denn mit umlauten in Templates oder wenn du einfach einen Unicode String mit Umlauten zurück gibst? Wenn die richtig dargestellt werden, liegt es ja 100%ig an mysql.
Bottle: Micro Web Framework + Development Blog
- noisefloor
- User
- Beiträge: 4185
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
hast du das Problem mit Daten, die du aus Python _in_ die MySQL DB schreibst, oder mit Daten, die du händisch in DB schreibst und mit Python raus holst?
Ich hatte das Problem mal, weil alles auf UTF-8 eingesteltl war, nur meine Client-Connection -> MySQL auf Latin-1 stand. Das siehst du aber nur in der Config-Datei von MySQL.
Gruß, noisefloor
hast du das Problem mit Daten, die du aus Python _in_ die MySQL DB schreibst, oder mit Daten, die du händisch in DB schreibst und mit Python raus holst?
Ich hatte das Problem mal, weil alles auf UTF-8 eingesteltl war, nur meine Client-Connection -> MySQL auf Latin-1 stand. Das siehst du aber nur in der Config-Datei von MySQL.
Gruß, noisefloor
Das kann ich bestätigen. Bei MySQL-Verbindungen sollte das Encoding immer explizit mit angegeben werden. Sonst passieren hässliche Dinge.
Seinerzeit half es, nach Erstellen der Verbindung einen Cursor zu erstellen und den Befehl "SET NAMES 'UTF-8'" abzusetzen.
Seinerzeit half es, nach Erstellen der Verbindung einen Cursor zu erstellen und den Befehl "SET NAMES 'UTF-8'" abzusetzen.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
In den neueren Versionen von MySQLdb kann man beim connect das encoding angeben.
EDIT: wäre mal Zeit einen Eintrag in der http://wiki.python-forum.de/FAQ zu erstellen!
EDIT: wäre mal Zeit einen Eintrag in der http://wiki.python-forum.de/FAQ zu erstellen!