hotti: Umlautprobleme

Beitrag lesen

Hi!

Mit Perl und MySQL muss ich dem Database_Handle NICHT sagen, ob da UTF-8 oder ISO* als Kodierung übertragen werden soll, die Zeichen kommen da mit der Kodierung an, wie sie entweder in MySQL gespeichert sind oder wieder da reinsollen.

Dann beobachtest du entweder was Falsches, oder Perl versteckt das Setzen der Verbindungskodierung, oder bei dir funktioniert es mit den gesetzten Default-Angaben, oder es sieht nur aus deiner Sicht so aus, als ob alles richtig läuft. Das Kapitel Character Set Support und speziell Connection Character Sets and Collations gilt generell für MySQL und nicht nur abzüglich Perl.

Es gibt Scripts, da spielt die auf der Engine eingestellte Collation und Charset keine Rolle. Aus einem mit Perl erstellten DB_Handle lese ich bytes. Defaults in allen Ehren, aber die meisten meiner Tabellen benutzen auch bei mir definierte Attribute.

Zum Administrieren meiner Remote-MySQL-DB benutze ich daher eigene Scripts, die in Perl geschrieben sind, da kann ich auch mal unverfälscht (ohne Browser) und stichprobenartig nachschauen, in welcher Kodierung Zeichen in der DB tatsächlich gespeichert sind.

Kannst du nicht, denn dann müsstest du einen Dateibetrachter verwenden und dir die Datenbankdateien direkt anschauen.

Die Konsole oder auch Textpad als Ausgabemedium stelle ich so ein, dass ich erkennen kann, in welcher Kodierung Zeichen ankommen. Wenn die Konsole versucht, 2 bytes einer utf-8-Kodierung als ISO-8859-1 darzustellen, sehe ich das und ich habe darüber hinaus immer noch die Möglichkeit, die bytes als utf-8-kodierte Zeichen darstellen zu lassen.

Wenn ich Probleme mit Zeichenkodierungen wünschte, könnte ich zu einer anderen Sprache als Perl wechseln ;-)

Sch??ne Gr????e,
Hotti