Locales konfigurieren Linux – Umlaute richtig darstellen

Zeichensatz / Spracheinstellungen / Umlaute konfigurieren unter Linux

Locales ändern und Umlaute richtig anzeigen Linux

Werden Umlaute innerhalb der Linux Konsole auf Debian oder Ubuntu Servern nicht richtig dargestellt und nur als Blöcke oder merkwürdige Zeichen angezeigt, gibt es in der Regel einen Locales Konflikt zwischen dem Verbindungsprogramm, z.B. PuTTY, und dem verwendeten Locales auf dem Server. PuTTY verwendet standardmäßig den Zeichensatz UTF-8. Auf Servern wird jedoch oftmals für die Grundeinstellung ISO-8859-15 verwendet. In diesem Fall kommt es dann auf dem Server innerhalb der Konsole zu Darstellungsfehlern für Umlaute.

Locales Umlautfehler in der Konsole Linux

Es gibt jetzt 2 Möglichkeiten, dies zu beheben. Bevor wir uns für eine Möglichkeit entscheiden, müssen wir aber erstmal wissen welcher Zeichensatz vom Server benutzt wird.

Den aktuell verwendeten Zeichensatz bzw. die Spracheinstellungen können wir uns mit dem Konsolenbefehl:

locale

anzeigen lassen. Als Ausgabe erhalten wir dann zum Beispiel:

LANG=de_DE.ISO-8859-15@euro
LANGUAGE=de_DE:de
LC_CTYPE="de_DE.ISO-8859-15@euro"
LC_NUMERIC="de_DE.ISO-8859-15@euro"
LC_TIME="de_DE.ISO-8859-15@euro"
LC_COLLATE="de_DE.ISO-8859-15@euro"
LC_MONETARY="de_DE.ISO-8859-15@euro"
LC_MESSAGES="de_DE.ISO-8859-15@euro"
LC_PAPER="de_DE.ISO-8859-15@euro"
LC_NAME="de_DE.ISO-8859-15@euro"
LC_ADDRESS="de_DE.ISO-8859-15@euro"
LC_TELEPHONE="de_DE.ISO-8859-15@euro"
LC_MEASUREMENT="de_DE.ISO-8859-15@euro"
LC_IDENTIFICATION="de_DE.ISO-8859-15@euro"
LC_ALL=

Da wir die verwendeten Locales auf dem Server jetzt kennen, können wir uns für eine der folgenden Möglichkeiten entscheiden. Entweder temporäre oder dauerhafte Lösung.



Temporäre Änderung der Locales innerhalb der PuTTY Settings

Klicken Sie in der „Kopfzeile“ von PuTTY die rechte Maustaste und wählen Sie innerhalb des geöffneten Auswahlbereichs „Change Settings…“. Anschließend wählen Sie unter dem Kategorie Punkt „Windows“ den Unterpunkt „Translation“ aus. Im rechten Bereich sehen Sie nun die Grundeinstellung UTF-8.

putty character set utf-8 standardeinstellung

Ändern Sie den Zeichensatz einfach auf den des Servers ab (z.B. ISO-8859-15) und bestätigen Sie die Auswahl mit „Apply“.

Die Umlaute auf dem Server werden jetzt sofort richtig dargestellt. Allerdings hält dieser Zustand nur solange an, bis Sie den Server wieder verlassen. Bei der nächsten Verbindung mit PuTTY zum Server wird standardmäßig wieder der Zeichensatz UTF-8 ausgewählt und die Umlaute dementsprechend wieder falsch dargestellt.

Dauerhafte Änderung der Locales auf dem Server

Um den Zeichensatz dauerhaft z.B. auf UTF-8 zu ändern, geben Sie den Befehl:

dpkg-reconfigure locales

in die Konsole ein. Damit öffnet sich ein Verzeichnis aller verfügbaren Locales auf dem Server. Wählen Sie hier die 3 Locales „de_DE ISO-8859-1“, „de_DE.UTF-8 UTF-8“ und „de_DE@euro ISO-8859-15“ aus und bestätigen Sie die ausgewählten Locales mit „Enter“

Locales konfigurieren Linux Console

Als Standard-Standorteinstellung für die Systemumgebung wählen Sie anschließend „de_DE.UTF-8“ aus.

Standard Standorteinstellung für Systemumgebung
Wichtiger Hinweis

Die Steuerung innerhalb des Auswahlmenüs erfolgt über die Pfeiltasten auf dem Keyboard. Die Auswahl der Zeichensätze erfolgt per Mausklick.



Locales / Zeichensatz Update durchführen

Geben wir jetzt nochmal den Konsolenbefehl „locale“ ein, stellen wir fest, dass sich unser Zeichensatz noch nicht geändert hat. Um die Aktualisierung abzuschließen ist noch ein Neustart des Systems erforderlich:

shutdown -r now

Danach sind die Locales auf UTF-8 geändert worden und die Umlaute innerhalb der Konsole werden dauerhaft richtig dargestellt:

Umlaute richtig anzeigen in der Konsole Linux

LANG=de_DE.UTF-8
LANGUAGE=de_DE:de
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=

Weitere, nützliche Konsolenbefehle für Locales / Zeichensätze

Alle auf dem Server verfügbaren Zeichensätze anzeigen lassen:
locale -a
Aktuelle „Default-Einstellung“ anzeigen lassen:
cat /etc/default/locale
Einen fehlenden Zeichensatz generieren lassen, z.B. für UTF-8:
locale-gen de_DE.UTF-8
Direktes Update für einen Zeichensatz durchführen, z.B. UTF-8:
update-locale LANG=de_DE.UTF-8



0 Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.