Wichtig: MySQL Datenbank macht Probleme mit Umlauten.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
2bock
User
Beiträge: 94
Registriert: Freitag 12. September 2003, 07:58
Wohnort: 50.9333300 / 6.3666700

Hallo zusammen. ICh habe eine MySQL DB auf einen Suse 9.2 Server. Ich hole mit die Daten der DB und die Einträge mit Umlauten werden nicht korrekt dargestellt.
ICh habe die gleiche DB Auf einem Windows Rechner und die geibt die Daten korrekt zurück.
Beim Windows System werden einige Zeichen bei den Einträgen hinzugefügt. Bei Windows wird das "ü" ungefähr so dargestellt. x/c6
Beim Linuxsystem kommt folgendes zurück. In etwas x/bh3. Geladen im meinem Skript habe ich die Codepage 'iso-8859-1'.

Weiß jemand von euch wie ich dieses Problem proffesionell lösen kann? Damit meine ich nicht mit der replace Funktion.

Grettz from 2bock :wink:
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Hi,
Du musst den default character set auf "latin1" setzten.
Danach musst du MySQL neu starten.
Die bessere Lösung ist es, alles auf UTF8 umstellen...

Ok, war schlampig erklärt,
Es ist wichtig das der Zeichensatz von MySQL und den Python Scripts übereinstimmen.
Also ist das Script UTF-8, auch die DB auf UTF-8 stellen.
Beim Script ist es nicht nur wichtig das # -*- coding: UTF-8 -*- angegeben ist, sondern das die Datei auch wirklich in diesen Zeichnsatz gespeichert ist.

MfG
Andreas
Zuletzt geändert von XT@ngel am Dienstag 15. Februar 2005, 16:46, insgesamt 1-mal geändert.
2bock_not_logged

Also Das mit UTF8 habe ich ausprobiert und leider hat mir dieses nicht weitergeholfen. Ich meine, das es den Fehler nicht behoben hat. Das mit latin1 habe ich nicht getestet, da die von mir eingesetzte Codepage doch quasi das gleiche war vie latin 1. Nur ne art anderer Schreibweise. Den Fehler habe ich bei mir behoben, indem ich die Datenbank neu aufgesetzt habe un diesesmal nicht mit dem Admintool (mysql-Admin) sondern von Hand. Danach funktionierte es dann auch mit der von mir verwendeten Codepage.

Und was lernt man daraus? Auch der Hersteller macht mal Fehler, obwohl er quasi an der Quelle sitzt.

Ich habe den Fehler jetzt nicht weiterverfolgt, da ich etwas unter Termindruck stehe.

Greetz from 2bock ;-) Und Danke für Deine Hilfe XT@ngel
Antworten