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

Beitrag lesen

Hallo,

vor kurzem hatte ich hier wegen Problemen bei der Kodierung gepostet, bei denen Umlaute beim Speichern von Daten über ein Servlet in eine MySQL-DB falsch dargestellt wurde.
Ich glaube, dass ich es fürs erste mal so weit hinbiegen konnte, indem ich einfach im Servlet bei jedem Aufruf ein

  
   request.setCharacterEncoding("UTF-8");  
   response.setCharacterEncoding("UTF-8");  

setze. Die Vorgehensweise kommt mir zwar noch ein wenig dilettantisch vor, aber sie scheint zu funktionieren.
Dabei gibt es aber doch noch einen Störfaktor:
Die Daten werden in der JSP-Seite richtig dargestellt. Die Daten werden im MySQL Query Browser ebenfalls richtig dargestellt. Rufe ich die Daten aber über die Bash (Gnome-Terminal) ab, also wenn ich mit mysql schema -u user -p und mit einem select * die Daten aus der DB abrufe, habe ich anstatt der Umlaute nur bemalte Fragezeichen.
Die im System verwendete Kodierung ist definitiv UTF-8:

locale

root@archy markus # locale
LANG=de_AT.utf8
LC_CTYPE="de_AT.utf8"
LC_NUMERIC="de_AT.utf8"
LC_TIME="de_AT.utf8"
LC_COLLATE=C
LC_MONETARY="de_AT.utf8"
LC_MESSAGES="de_AT.utf8"
LC_PAPER="de_AT.utf8"
LC_NAME="de_AT.utf8"
LC_ADDRESS="de_AT.utf8"
LC_TELEPHONE="de_AT.utf8"
LC_MEASUREMENT="de_AT.utf8"
LC_IDENTIFICATION="de_AT.utf8"
LC_ALL=

Das Gnome-Terminal habe ich ebenfalls standardmäßig auf UTF-8, aber jetzt kommt's. Schalte ich im Gnome-Terminal auf ISO-8859-15, werden in der MySQL-Tabelle die Umlaute plötzlich richtig dargestellt. Das ist doch meiner Meinung nach nicht logisch. Es müsste doch genau umgekehrt sein, oder täusche ich mich? Was kann da los sein?
Das Eintippen von Umlauten in der Bash (Gnome-Terminal) funktioniert jedenfalls mit beiden Einstellungen.

Markus

--