Probleme mit Umlauten und Sonderzeichen in PuTTY
In den meisten Fällen funktionieren die Standardeinstellungen von PuTTY problemlos. Es kommt jedoch vor, dass Umlaute, Sonderzeichen oder z.B. die Rahmen von Konfigurationsmenüs fehlerhaft dargestellt werden.
Lösung: Umlauteinstellungen von PuTTY auf UTF-8 umzustellen.
Aktuelle Einstellungen anzeigen
Um zu prüfen, ob der Zielserver mit UTF-8 arbeitet, muss dort folgender Befehl ausgeführt werden:
1 |
[root@ts3index ~]$ locale |
In der Ausgabe sollte folgendes stehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@ts3index ~]$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= |
Verfügbare Locales anzeigen
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@ts3index ~]$ locale -a C C.UTF-8 de_AT.utf8 de_BE.utf8 de_CH.utf8 de_DE.utf8 de_LI.utf8 de_LU.utf8 en_AG en_AG.utf8 ... |
Wenn eine Locale nicht in der Liste aufscheint, muss diese generiert werden.
1 2 3 4 |
[root@ts3index ~]$ sudo locale-gen de_DE.UTF-8 Generating locales... de_DE.UTF-8... done Generation complete. |
Locales anpassen
In der Datei /etc/default/locale
sind die Default Einstellungen hinterlegt.
1 2 |
[root@ts3index ~]$ cat /etc/default/locale LANG=en_US.UTF-8 |
Diese Datei kann entweder manuell angepasst werden, oder mit dem Tool update-locale
aktualisiert werden.
1 |
[root@ts3index ~]$ update-locale LANG=de_DE.UTF-8 |
Nützlich ist zum Beispiel wenn man ein System auf Deutsch betreiben möchte, jedoch die Fehler- und Systemmeldungen auf Englisch haben möchte. Dies ist bei der Fehlersuche oft hilfreich. In diesem Fall wäre folgende Einstellung in /etc/default/locale
möglich:
1 2 |
LANG=de_DE.UTF-8 LC_MESSAGES=POSIX |
Die Variable LC_MESSAGES
beeinflusst auch die Sprache des User Interfaces bzw. des Window-Managers. Datums- und Zahlenangaben sind von einer Umstellung von LC_MESSAGES
aber nicht betroffen.
Keine locale gesetzt
Es kann vorkommen, dass auf Linux-Systemen keine locale gesetzt ist – prüfen Sie, ob die Datei /etc/default/locale
existiert.
Weiters gibt das locale -a
Kommando folgendes aus:
1 2 3 4 |
[root@ts3index ~]$ locale -a C C.UTF-8 POSIX |
In diesem Fall muss man wie folgt vorgehen:
- Locale generieren
sudo locale-gen de_DE.UTF-8
- Locale setzten, dies generiert auch die Datei
/etc/default/locale
update-locale LANG=de_DE.UTF-8
- System neu starten oder eine neue Konsole öffnen
Sollte UTF-8 angezeigt werden, dann muss im PuTTY-Konfigurationsfenster Window
unter Translation
auf UTF-8 umgestellt werden.