dedlfix: (LINUX / BASH / MYSQL) Verständnisproblem bei Zeichenkodierung

Beitrag lesen

echo $begrüßung;

Du suchst, so scheint es mir, immer noch auf dem Server, nicht beim Client. Wenn die Anwendung auch mal mit MySQL-Servern laufen soll, auf die du keinen Einfluss hast, musst du mit dem Client nach dem Verbindungsaufbau die zu verwendende Kodierung aushandeln können.
Mein MySQL-Client ist einfach das MySQL-Konsolenprogramm. Ich habe zwar auch den MySQL Query Browser, aber in beiden Fällen kann man nirgendwo Kodierungen einstellen.

Das sind ja nur Hilfsprogramme, mit denen du die Daten bearbeitest. Ich meinte eher in Richtung Java (JDBC?) gehend, denn da ist ja dein Hauptproblem angesiedelt.

Allerdings kann ich einen Effekt beobachten. Sind die Umlaute zerstört, benötigen sie ungewöhnlich viele Leerzeichen nach dne eigentlichen Zeichen. Ist das ein Indiz dafür, dass es ev. doppelt kodiert wurde?
Eher, dass sie als ISO-8859-1 kodiert sind. Schau dir den Quelltext im Browser an, stell dabei die Kodierung der Quelltextansicht auf ISO-8859-1 (geht zumindest im Firefox), dann siehst du ja pro Byte ein Zeichen und kannst auch die typischen UTF-8-Sequenzen sehen - oder auch nicht, wenn du kein UTF-8 hast.
Also wenn ich im Browser auf iso8859-1 stelle, erkenne ich die UTF-8-Sequenzen.

Wenn du auf ISO-8859-1 gestellt die UTF-8-Sequenzen zu sehen glaubst, und auf UTF-8 gestellt "Zerstörtes" (wie sieht das konkret aus?), dann sieht mir das nicht nach gültigen UTF-8-Sequenzen aus. Zumal nach deiner Beschreibung nach einem UTF-8-Zeichen noch nachfolgede Zeichen verschwinden, was darauf schließen lässt, dass die UTF-8-Sequenz ungültig ist und nachfolgende Zeichen von UTF-8-Dekodierer gefressen werden, weil der noch mehr Bytes zur Sequenz zugehörig erwartet.

Öffne die Seite mal im Browser, speichere sie als Datei (oder wget von der Linux-Konsole), lass sie durch hexdump -C laufen und such dir eine defekte Sequenz, poste das Ergebnis bitte hier oder versuch es selbst zu analysieren.

echo "$verabschiedung $name";