Umlaute in der Shell können nicht eingegeben werden

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Umlaute in der Shell können nicht eingegeben werden

Beitrag von pangu » 12.12.2011 14:08:50

Hallo,

ich hab das Problem, dass ich in meiner SSH-Shell (ich nutze Putty dafür) keine Umlaute eingeben kann. Ausserdem hab ich das Zweitproblem, dass wenn ich mir Text- oder Konfigurationsdateien mit z.B. 'cat' oder 'vi' betrachte, die Umlaute als komische Salatzeichen erscheinen :)

Kann mir jemand erklären, wie ich meinem Debian Squeeze beibringen kann, dass ich eine stinknormale deutsche Tastatur mit Umlaute verwende, und dass diese auch so verarbeitet und vor allem korrekt dargestellt werden? Y/Z Tausch hab ich nicht, die werden richtig verarbeitet. Bei der Installation hatte ich ja auch DE Latin gewählt.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

DeletedUserReAsG

Re: Umlaute in der Shell können nicht eingegeben werden

Beitrag von DeletedUserReAsG » 12.12.2011 14:12:20

Sieht von Weitem so aus, als würde dieses ominöse „Putty“ einen anderen Charset verwenden, als der User es tatsächlich auf dem Server tut.

Mal die Ausgabe von 'locale' anschauen, und das passend in deinem Programm eintragen?

cu,
niemand

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Umlaute in der Shell können nicht eingegeben werden

Beitrag von pangu » 12.12.2011 14:17:22

# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Was bedeutet das? Was soll ich da jetzt umstellen und wie? Ich hab mal "dpkg-reconfigure locales" ausgeführt. In der Liste habe ich die 3 Zeile mit de_de, de_de_UTF und de_de_EURO markiert. Als Default habe ich dann DE_UTF8 gewählt und alles bestätigt und abgespeichert. Wenn ich in VI etwas bearbeite, dann kann ich Umlaute nutzen und sie auch mit cat korrekt darstellen. Aber in der Konsole kann ich keine Umlaute eingeben. Wenn ich jetzt wieder "locale" ausführe, kriege ich wieder die gleiche Ausgabe wie oben gezeigt. Da steht überall C drin. Sollte da nicht jetzt DE_UTF8 stehen wenn ich locale eingebe? Ausserdem habe ich in Putty auch "UTF-8" unter dem Abschnitt [Translation] gewählt.
Zuletzt geändert von pangu am 12.12.2011 14:29:08, insgesamt 1-mal geändert.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

DeletedUserReAsG

Re: Umlaute in der Shell können nicht eingegeben werden

Beitrag von DeletedUserReAsG » 12.12.2011 14:27:37

http://wiki.debian.org/Locale sollte dir einen Überblick verschaffen.

cu,
niemand

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Umlaute in der Shell können nicht eingegeben werden

Beitrag von pangu » 12.12.2011 14:42:31

Ok, hab's jetzt hingekriegt. Ich hab die /etc/profile editiert und ganz unten die Zeile

export LC_ALL=de_DE.UTF-8

hinzugefügt. Wichtig ist, dass man diese Zeile noch mit einem RETURN (also neue Zeile) abschliessen sollte. Danach neu einloggen und ich kann jetzt endlich per SSH auch meine Umlaute eingeben. Und der Befehl "locale" spuckt mir jetzt endlich auch für alle Variabeln de_DE.UTF-8 aus, siehe folgende Ausgabe:
# locale
LANG=C
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Antworten