Wie man verzerrten Text unter Ubuntu behebt: Vollständiger Leitfaden zu Locale-, Schriftarten- und Kodierungseinstellungen

目次

1. Einführung

Beim Arbeiten mit Ubuntu kann es gelegentlich zu fehlerhaften Zeichen kommen. Diese Probleme können in verschiedenen Situationen auftreten, etwa bei der Terminalausgabe, beim Anzeigen japanischer Dateinamen oder beim Betrachten japanischer Webseiten im Browser. In vielen Fällen wird japanischer Text mit der Standardkonfiguration nicht korrekt dargestellt, sodass eine richtige Einrichtung unerlässlich ist.

Dieser Artikel erklärt die Ursachen für fehlerhafte Zeichen in Ubuntu und bietet konkrete Lösungen zu deren Behebung. Der Leitfaden richtet sich an folgende Benutzergruppen:

  • Anfänger, die Ubuntu nutzen, ohne die Unterstützung für die japanische Sprache konfiguriert zu haben
  • Nutzer, die die Ursache fehlerhafter Zeichen verstehen und grundlegende Lösungen suchen
  • Anwender, die im Terminal oder in grafischen Umgebungen fehlerhaften Text sehen und wissen wollen, wie man das Problem behebt

Beginnen wir mit einer Übersicht der Hauptursachen für fehlerhafte Zeichen in Ubuntu.

2. Hauptursachen für fehlerhafte Zeichen

Falsche Locale‑Einstellungen

Die Locale in Ubuntu definiert systemweite Einstellungen für Sprache, Datumsformat und weitere regionalspezifische Verhaltensweisen. Sind diese Einstellungen nicht korrekt, wird japanischer Text möglicherweise nicht richtig angezeigt und es entstehen fehlerhafte Zeichen.

Beispielsweise zeigt der Befehl locale Werte wie „C“ oder „POSIX“ an, ist die System‑Locale nicht richtig konfiguriert:

$ locale
LANG=C
LC_ALL=

Idealerweise sollte eine japanische Umgebung Einstellungen wie LANG=ja_JP.UTF-8 anzeigen.

Fehlende oder nicht konfigurierte Schriftarten

In manchen Standard‑Ubuntu‑Installationen sind japanische Schriftarten nicht vorhanden, wodurch japanischer Text als leere Kästchen (□) oder unlesbare Symbole dargestellt wird.

Dieses Problem tritt typischerweise in folgenden Szenarien auf:

  • Menüpunkte und Schaltflächen in grafischen Anwendungen erscheinen beschädigt
  • Das Öffnen japanischer Texte in einem Texteditor führt zu fehlerhaften Zeichen

Nicht passende Zeichenkodierung

Ubuntu verwendet hauptsächlich die Kodierung UTF-8. Beim Öffnen von Dateien, die in Shift_JIS oder EUC-JP kodiert sind – häufig in älteren Windows‑ oder UNIX‑Systemen – kann es zu Textkorruption kommen.

Typische Probleme sind:

  • Texteditoren zeigen seltsame Symbole, wenn japanische Dateien geöffnet werden
  • Die Ausgabe des Befehls cat erscheint im Terminal zerbrochen

Terminal‑ oder Editor‑Fehlkonfiguration

Selbst wenn Dateien korrekt in UTF‑8 kodiert sind, können falsche Terminal‑ oder Editor‑Einstellungen weiterhin Anzeigeprobleme verursachen.

  • Die Terminal‑Kodierung ist nicht auf UTF-8 eingestellt
  • Editoren wie Vim oder VSCode erkennen die Zeichenkodierung nicht automatisch
  • Japanische Zeichen erscheinen als „?“ oder „◇“, wenn sie mit less oder cat betrachtet werden

3. Überprüfen und Korrigieren der Locale‑Einstellungen

Wie man die Locale‑Einstellungen prüft

Um die aktuelle Locale‑Konfiguration zu prüfen, führen Sie den folgenden Befehl aus:

locale

Beispielausgabe:

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=

In diesem Fall bedeutet LANG=C, dass die japanische Unterstützung nicht aktiviert ist. Für eine korrekte japanische Konfiguration sollten Werte wie die folgenden angezeigt werden:

LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8

Installation und Einstellung der japanischen Locale

1. Überprüfen und Hinzufügen der japanischen Locale

Um festzustellen, ob die japanische Locale in Ihrem System verfügbar ist, führen Sie folgenden Befehl aus:

locale -a | grep ja_JP

Beispielausgabe:

ja_JP.eucJP
ja_JP.utf8

Falls ja_JP.utf8 nicht aufgeführt ist, müssen Sie das japanische Locale‑Paket installieren.

Installieren Sie es mit den folgenden Befehlen:

sudo apt update
sudo apt install -y language-pack-ja

Aktivieren Sie anschließend die Locale:

sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8

2. Die Locale systemweit anwenden

Um die Locale‑Änderung für das gesamte System wirksam zu machen, führen Sie die folgenden Befehle aus:

export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

Um diese Änderungen dauerhaft zu speichern, fügen Sie sie zu ~/.bashrc oder ~/.profile hinzu:

echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc

Wenn Sie die Einstellungen für alle Benutzer übernehmen möchten, bearbeiten Sie stattdessen die folgende Datei:

sudo nano /etc/default/locale

Fügen Sie die folgenden Einträge hinzu oder aktualisieren Sie sie:

LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8

Um die Einstellungen anzuwenden, melden Sie sich ab und wieder an oder starten Sie das System neu.

4. Installation und Konfiguration japanischer Schriften

Warum japanische Schriften notwendig sind

In einer standardmäßigen Ubuntu-Umgebung sind japanische Schriften möglicherweise nicht installiert. Ohne sie wird japanischer Text als leere Kästchen oder unverständliche Symbole angezeigt.

Sie können fehlende Schriften in den folgenden Situationen feststellen:

  • Menübeschriftungen und GUI‑Schaltflächen zeigen fehlerhafte Zeichen an
  • Japanischer Text erscheint beschädigt, wenn er in einem Texteditor geöffnet wird

Empfohlene japanische Schriften

Die folgenden japanischen Schriften stehen in Ubuntu zur Verfügung:

Font NameDescription
Noto Sans CJK JPA high-quality Japanese font provided by Google (recommended as default)
Takao FontsThe former default fonts in Ubuntu, available in regular and bold styles
IPA FontsHigh-quality fonts provided by the Information-technology Promotion Agency (IPA)
VL Gothic (VLゴシック)Highly readable, ideal for terminal environments

Wie man japanische Schriften installiert

1. Noto Sans CJK JP (Empfohlenes Standard)

sudo apt update
sudo apt install -y fonts-noto-cjk

2. Takao-Schriften

sudo apt install -y fonts-takao

3. IPA-Schriften

sudo apt install -y fonts-ipafont

4. VL Gothic (für die Terminal‑Verwendung)

sudo apt install -y fonts-vlgothic

Nachdem die Installation abgeschlossen ist, starten Sie das System neu oder aktualisieren Sie den Schrift‑Cache:

fc-cache -fv

Wie man Schriften konfiguriert

Konfiguration von Schriften in GUI‑Anwendungen

  1. Öffnen Sie die Anwendung „Einstellungen“
  2. Navigieren Sie zum Abschnitt „Schriften“
  3. Ändern Sie „Standard‑Schrift“, „Dokument‑Schrift“ und „Monospace‑Schrift“ zu Ihren bevorzugten Schriften
  4. Melden Sie sich ab und wieder an, um die Änderungen zu übernehmen

Konfiguration von Schriften im Terminal

  1. Öffnen Sie das Terminal
  2. Wählen Sie „Einstellungen“ im Menü
  3. Öffnen Sie die „Profil“-Einstellungen und aktivieren Sie „Benutzerdefinierte Schrift verwenden“
  4. Wählen Sie Ihre bevorzugte Schrift (z. B. Noto Sans Mono CJK JP )
  5. Speichern Sie die Einstellungen und starten Sie das Terminal neu

Schriftkonfiguration überprüfen

Um zu bestätigen, dass die Schriften korrekt angewendet wurden, führen Sie die folgenden Schritte aus:

  1. Überprüfen Sie installierte Schriften mit fc-list
    fc-list | grep "Noto"
    
  1. Überprüfen Sie die Anzeige japanischer Zeichen im Terminal
    echo "こんにちは、Ubuntuの文字化け対策"
    
  1. Bestätigen Sie die Darstellung japanischen Textes in GUI‑Anwendungen wie Firefox oder LibreOffice

5. Überprüfung und Konvertierung von Zeichenkodierungen

Was ist Zeichenkodierung?

Zeichenkodierung definiert, wie Zeichen digital dargestellt werden. Häufige Kodierungen umfassen:

EncodingCharacteristicsMain Usage
UTF-8Multi-language support; standard in LinuxUbuntu and web development
Shift_JISJapanese-focused; standard in Windows environmentsWindows apps and legacy systems
EUC-JPPreviously used in UNIX-based systemsOlder Linux distributions
ISO-2022-JPUsed in some mail systemsEmail communication

Da Ubuntu UTF-8 als Standardkodierung verwendet, kann das Öffnen von Dateien, die in anderen Formaten kodiert sind, zu fehlerhaftem Text führen.

Wie man die Zeichenkodierung einer Datei prüft

1. Verwendung des Befehls file

file -i sample.txt

Beispielausgabe:

sample.txt: text/plain; charset=iso-8859-1

2. Verwendung des Befehls nkf

sudo apt install -y nkf
nkf --guess sample.txt

Beispielausgabe:

Shift_JIS (CRLF)

Wie man Zeichenkodierungen konvertiert

1. Verwendung des Befehls iconv

Beispiel: Konvertieren von Shift_JIS zu UTF-8

iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt

Beispiel: Konvertieren von EUC-JP zu UTF-8

iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt

2. Verwendung des Befehls nkf

Beispiel: Konvertieren von Shift_JIS zu UTF-8

nkf -w sample.txt > sample_utf8.txt

Beispiel: Konvertieren von EUC-JP zu UTF-8

nkf -w --overwrite sample.txt

Vermeidung von fehlerhaftem Text in Terminals und Editoren

1. Korrekte Kodierung mit less anzeigen

export LESSCHARSET=utf-8
less sample.txt

2. Dateien mit in vim angegebener Kodierung öffnen

vim -c "set encoding=utf-8" sample.txt

3. Zeichenkodierung in gedit oder VSCode ändern

  • gedit (Standardeditor von GNOME)
  1. Öffnen Sie die Datei mit gedit sample.txt
  2. Wählen Sie beim Speichern UTF-8 im Dropdown‑Menü „Kodierung“ aus
  • VSCode (Visual Studio Code)
  1. Klicken Sie auf die „Encoding“-Anzeige am unteren Rand des Fensters
  2. Wählen Sie UTF-8, um die Datei zu konvertieren

6. Überprüfung von Terminal- und Editor-Einstellungen

Terminaleinstellungen überprüfen und anpassen

1. Terminalkodierung prüfen

Um Ihre Locale-Einstellungen zu bestätigen, führen Sie die untenstehenden Befehle aus:

echo $LANG
echo $LC_ALL

Beispielausgabe (korrekte Konfiguration)

ja_JP.UTF-8
ja_JP.UTF-8

Wenn die Ausgabe C oder POSIX zeigt, ändern Sie die Locale zu ja_JP.UTF-8.

2. Terminal-Schriftarten konfigurieren

GNOME Terminal (Standard-Terminal von Ubuntu)

  1. Öffnen Sie das Terminal
  2. Wählen Sie „Einstellungen“
  3. Öffnen Sie das „Profil“ und gehen Sie zum Reiter „Text“
  4. Aktivieren Sie „Benutzerdefinierte Schriftart verwenden“ und wählen Sie eine der folgenden aus:
  • Noto Sans Mono CJK JP
  • VL Gothic
  • Takao Gothic
  1. Speichern Sie Ihre Einstellungen und starten Sie das Terminal neu

Editor-Kodierung konfigurieren

1. Vim-Kodierungseinstellungen

Öffnen Sie Vim und führen Sie die folgenden Befehle aus, um die aktuelle Kodierung zu prüfen:

:set encoding?
:set fileencoding?

Beispielausgabe:

encoding=utf-8
fileencoding=utf-8

Wenn die Einstellungen von utf-8 abweichen, aktualisieren Sie ~/.vimrc mit:

set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac

2. Nano-Kodierungseinstellungen

Um die Standardkodierung zu ändern, fügen Sie Folgendes zu ~/.nanorc hinzu:

set encoding "utf-8"

3. VSCode-Kodierungseinstellungen

  1. Klicken Sie auf die „Encoding“-Anzeige unten rechts
  2. Wählen Sie „Erneut öffnen mit Kodierung“ und wählen Sie UTF-8
  3. Falls nötig, wählen Sie „Speichern mit Kodierung“

Um UTF-8 als Standard festzulegen, fügen Sie Folgendes zu settings.json hinzu:

"files.encoding": "utf8"

7. Lösungen für spezifische Fälle

Vermeidung von unlesbarem Text in GUI-Anwendungen

1. Japanische Zeichen werden in Firefox oder Chrome falsch angezeigt

Lösung:

  1. Installieren Sie die erforderlichen japanischen Schriftarten
    sudo apt install -y fonts-noto-cjk fonts-ipafont
    
  1. Überprüfen und aktualisieren Sie die Schriftarteinstellungen des Browsers
  • Firefox: wp:list {„ordered“:true} /wp:list

    1. Besuchen Sie about:preferences
    2. Öffnen Sie „Schriftarten & Farben“ → „Erweitert“
    3. Stellen Sie sowohl die „Proportional“- als auch die „Monospace“-Schriftarten auf Noto Sans CJK JP ein
      Google Chrome:* wp:list {„ordered“:true} /wp:list

    4. Rufen Sie chrome://settings/fonts auf

    5. Ändern Sie „Standard-Schriftart“ und „Festbreite-Schriftart“ zu Noto Sans CJK JP

2. Unlesbarer Text in LibreOffice

Lösung:

  1. Installieren Sie japanische Schriftarten wie fonts-noto-cjk oder fonts-ipafont
  2. Ändern Sie die Schriftarteinstellungen in LibreOffice
  • Gehen Sie zu „Extras“ → „Optionen“ → „LibreOffice“ → „Schriftarten“
  • Stellen Sie die Standardschriftart auf Noto Sans CJK JP ein

Vermeidung von unlesbarem Text in CUI-Umgebungen

1. SSH-Sitzung zeigt unlesbare Zeichen

Lösung:

  1. Überprüfen Sie die Locale auf dem Remote-Server
    locale
    
  1. Falls sie nicht auf ja_JP.UTF-8 gesetzt ist, führen Sie die folgenden Befehle aus:
    sudo apt install -y language-pack-ja
    sudo locale-gen ja_JP.UTF-8
    sudo update-locale LANG=ja_JP.UTF-8
    

Vermeidung von unlesbarem Text in spezifischen Anwendungen

1. WSL (Windows-Subsystem für Linux) zeigt unlesbaren japanischen Text

Lösung:

  1. Konfigurieren Sie WSL, um ja_JP.UTF-8 zu verwenden
    echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
    echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
    source ~/.bashrc
    
  1. Stellen Sie die Windows Terminal-Schriftart auf Noto Sans Mono CJK JP ein

2. Unlesbarer japanischer Text in Docker-Containern

Lösung:

  1. Betreten Sie den Container und prüfen Sie die Locale
    docker exec -it container_name bash
    locale
    
  1. Fügen Sie die japanische Locale hinzu, falls sie fehlt
    apt update && apt install -y locales
    locale-gen ja_JP.UTF-8
    export LANG=ja_JP.UTF-8
    export LC_ALL=ja_JP.UTF-8
    

8. FAQ (Häufig gestellte Fragen)

Q1. Ich habe die Locale korrekt konfiguriert, aber es erscheint immer noch unlesbarer Text.

A: Überprüfen Sie die Locale-Einstellungen erneut:

locale

Falls LANG=ja_JP.UTF-8 nicht gesetzt ist, konfigurieren Sie neu mit:

sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales

Q2. Nur bestimmte Dateien zeigen unleserlichen Text.

A: Verschiedene Dateien können unterschiedliche Zeichenkodierungen haben. Überprüfen Sie die Kodierung:

file -i sample.txt

Falls die Datei nicht UTF-8 ist, konvertieren Sie sie:

iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt

Oder mit nkf:

nkf -w --overwrite sample.txt

Q3. Ich kann keine japanischen Zeichen in das Terminal eingeben.

A: Stellen Sie sicher, dass eine japanische Eingabemethode (Fcitx oder IBus) installiert ist.

sudo apt update
sudo apt install -y fcitx-mozc
im-config -n fcitx

Q4. Japanischer Text ist in WSL unleserlich.

A: Legen Sie die Locale in WSL fest:

echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc

Q5. Japanischer Text ist in einem Docker-Container unleserlich.

A: Wenn die Locale C.UTF-8 ist, wird japanischer Text nicht korrekt angezeigt.

apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

Q6. GUI-Menüs und Dialoge zeigen beschädigten japanischen Text.

A: Installieren Sie Schriftarten und ändern Sie die Schriftarteinstellungen:

sudo apt install -y fonts-noto-cjk fonts-ipafont

9. Zusammenfassung

Dieser Artikel bietet eine detaillierte Erklärung der Ursachen und Lösungen für Probleme mit unleserlichem Text in Ubuntu. Unleserliche Zeichen treten typischerweise aufgrund fehlerhafter Locale-Einstellungen, fehlender Schriftarten, abweichender Zeichenkodierungen oder falscher Terminal-/Editor-Konfigurationen auf. Mit den richtigen Anpassungen können diese Probleme jedoch effektiv behoben werden.

1. Hauptursachen für unleserlichen Text

  • Falsche Locale-Konfiguration : Wenn die System-Locale auf C oder POSIX eingestellt ist, kann japanischer Text nicht korrekt angezeigt werden
  • Nicht installierte Schriftarten : Ohne japanische Schriftarten können GUI-Anwendungen und Terminals japanische Zeichen nicht richtig darstellen
  • Kodierungsfehlanpassung : Das Öffnen von Dateien, die in anderen Kodierungen gespeichert sind (z. B. Shift_JIS), kann zu Beschädigungen führen
  • Falsche Terminal-/Editor-Einstellungen : Wenn die Kodierung nicht auf UTF-8 eingestellt ist, wird japanischer Text möglicherweise nicht korrekt angezeigt

2. Lösungen zur Vermeidung von unleserlichem Text

ItemSolution
Locale configurationCheck with locale and run update-locale LANG=ja_JP.UTF-8
Font installationsudo apt install -y fonts-noto-cjk fonts-ipafont
Check file encodingUse file -i or nkf --guess
Convert encodingiconv -f SHIFT_JIS -t UTF-8 filename -o newfile
Terminal configurationSet LESSCHARSET=utf-8 and change fonts to Noto Sans Mono CJK JP
Fix GUI garbled textSet fonts to Noto Sans CJK JP and use gnome-tweaks if needed
Fix WSL garbled textSet ja_JP.UTF-8 and configure fonts
Fix Docker garbled textRun locale-gen ja_JP.UTF-8 and configure locale in Dockerfile

3. Zusätzliche Empfehlungen

  • Halten Sie Ihr System auf dem neuesten Stand : Veraltete Pakete können Probleme in der japanischen Umgebung verursachen
    sudo apt update && sudo apt upgrade -y
    
  • Einstellungen persistent machen : Fügen Sie Locale-Einstellungen zu ~/.bashrc oder ~/.profile hinzu, um sie automatisch beim Anmelden anzuwenden
  • Konfigurationsdateien sichern : Erstellen Sie vor der Bearbeitung von Dateien wie /etc/default/locale eine Sicherung

Schlussfolgerung

Das Problem mit unleserlichem Text in Ubuntu kann durch die richtige Konfiguration der vier Schlüsselfaktoren behoben werden: Locale, Schriftarten, Zeichenkodierung und Terminal-/Editor-Einstellungen. Indem Sie die in diesem Leitfaden vorgestellten Methoden befolgen, können Sie fast alle Probleme mit unleserlichem Text in Ubuntu-Umgebungen eliminieren, sei es in Terminal-Sitzungen, GUI-Anwendungen, WSL oder Docker-Containern.

侍エンジニア塾