character set utf8

floggie

Mitglied
Hi,

Bei meiner Anwendung tritt ein merkwürdiger Effekt auf.
Ich habe einen Java-Client der aus einer MySql-DB ausliest.

Gehe ich auf die Kommandozeile in windows und mache ein beliebiges 'Select' werden Umlaute korrekt angezeigt. :-)

Liest meine Anwendung aus der DB werden Umlaute nicht korrekt angezeigt. :-(

Korrigiere ich nicht korrekt angezeigte Umlaute in meiner Anwendung und speichere diese in der DB aus meiner Anwendung heraus so liest meine Anwendung diese Umlaute beim nächsten Mal korrekt aus. ?

In der Hoffnung, dass jemand einen guten Rat für mich hat...

Grüsse

floggie
 
Hi.

Die DOS-Box bei einem deutschen Windows verwendet normalerweise die Codepage 850 (ein erweiterter ASCII Zeichensatz). Wenn da alles korrekt angezeigt wird, sind deine Strings also mit diesem Zeichensatz in der Datenbank gespeichert worden.

Wenn du dann natürlich mit deiner Anwendung etwas speicherst werden die Daten als UTF-8 gespeichert und können dann natürlich auch wieder richtig von der Anwendung gelesen werden.

Normalerweise sollte man zur Speicherung ein und denselben Zeichensatz verwenden und dann jeweils konvertieren falls notwendig.

Dadurch das du nicht 100%ig feststellen kannst ob ein String in UTF-8 gespeichert ist, oder in einem anderen Zeichensatz wird dir wohl nichts übrig bleiben per Hand die Strings zu berichtigen.

Gruß
 
Zurück