- 1 1. Einführung
- 2 2. Hauptursachen für Zeichenkodierungsprobleme
- 3 3. Locale-Einstellungen überprüfen und korrigieren
- 4 4. Schriftarten installieren und konfigurieren
- 5 5. Zeichenkodierung überprüfen und konvertieren
- 6 6. Überprüfung der Terminal- und Editor-Einstellungen
- 7 7. Fallbasierte Lösungen
- 8 8. FAQ (Häufig gestellte Fragen)
- 8.1 F1. Ich habe das Locale eingestellt, aber die Zeichenkodierungsprobleme wurden nicht behoben.
- 8.2 F2. Nur bestimmte Dateien zeigen Zeichenkodierungsprobleme.
- 8.3 F3. Japanische Eingabe ist im Terminal nicht möglich.
- 8.4 F4. Japanisch zeigt Zeichenkodierungsprobleme in WSL (Windows Subsystem for Linux).
- 8.5 F5. Japanisch zeigt Zeichenkodierungsprobleme in Docker-Containern.
- 8.6 F6. Menüs und Dialoge in Ubuntu GUI-Apps zeigen Zeichenkodierungsprobleme.
- 9 9. Zusammenfassung
- 10 Fazit
1. Einführung
Bei der Nutzung von Ubuntu kann es unter bestimmten Umständen zu Problemen mit der Zeichenkodierung (sogenannten „Mojibake“) kommen. Dies kann sich auf verschiedene Weisen äußern, z.B. bei der Ausgabe im Terminal, der Anzeige japanischer Dateinamen oder beim Surfen auf japanischen Webseiten. Oftmals werden japanische Zeichen in den Standardeinstellungen nicht korrekt dargestellt, was eine entsprechende Konfiguration erforderlich macht.
Dieser Artikel erklärt die Ursachen für Zeichenkodierungsprobleme in Ubuntu und bietet konkrete Lösungen. Die Zielgruppe sind Nutzer, die:
- Ubuntu-Anfänger sind und die Einstellungen für die japanische Anzeige noch nicht vorgenommen haben.
- Die Ursachen von Zeichenkodierungsproblemen verstehen und nach grundlegenden Lösungen suchen.
- Zeichenkodierungsprobleme in der Terminal- oder GUI-Umgebung haben und nach Abhilfemaßnahmen suchen.
Beginnen wir zunächst mit den Hauptursachen für Zeichenkodierungsprobleme in Ubuntu.
2. Hauptursachen für Zeichenkodierungsprobleme
Fehlerhafte Lokaleinstellungen
Die Locale-Einstellungen (Locale) in Ubuntu bestimmen die Systemsprache und das Datumsformat. Wenn diese nicht korrekt konfiguriert sind, können japanische Zeichen nicht angezeigt werden oder es kommt zu Zeichenkodierungsproblemen.
Wenn zum Beispiel der Befehl locale
die Ausgabe „C“ oder „POSIX“ anzeigt, sind die Locale-Einstellungen möglicherweise nicht richtig konfiguriert:
$ locale
LANG=C
LC_ALL=
Für eine japanische Umgebung sollte idealerweise LANG=ja_JP.UTF-8
eingestellt sein.
Nicht installierte oder fehlende Schriftarten
In der Standardinstallation von Ubuntu sind japanische Schriftarten möglicherweise nicht enthalten. Dies kann dazu führen, dass japanischer Text nicht korrekt angezeigt wird und stattdessen leere Quadrate (□) oder unsinnige Symbole erscheinen.
Fehlende Schriftarten äußern sich besonders in folgenden Situationen:
- Menüs und Schaltflächen in GUI-Anwendungen zeigen Zeichenkodierungsprobleme.
- Japanische Texte in Texteditoren werden fehlerhaft dargestellt.
Inkonsistente Zeichenkodierungen
Ubuntu verwendet standardmäßig UTF-8
. Wenn jedoch Dateien mit anderen Zeichenkodierungen wie Shift_JIS
oder EUC-JP
von externen Quellen geöffnet werden, kann es zu Zeichenkodierungsproblemen kommen.
Beispielsweise können beim Öffnen von Dateien, die in einer Windows-Umgebung erstellt wurden, in Ubuntu folgende Phänomene auftreten:
- Unsinnige Symbole werden im Texteditor angezeigt.
- Zeichen werden im Terminal beim Ausführen des Befehls
cat
zerstückelt dargestellt.
Fehlkonfiguration von Terminal oder Editor
Wenn Terminal oder Editor nicht korrekt konfiguriert sind, können selbst UTF-8-kodierte Dateien nicht richtig angezeigt werden.
- Die Encoding-Einstellung des Terminals ist nicht
UTF-8
. - Die automatische Zeichenkodierungserkennung in Editoren wie Vim oder VSCode funktioniert nicht.
- Beim Anzeigen mit
less
odercat
werden japanische Teile als „?“ oder „◇“ dargestellt.
3. Locale-Einstellungen überprüfen und korrigieren
Überprüfung der Locale-Einstellungen
Um die aktuellen Locale-Einstellungen zu überprüfen, führen Sie den folgenden Befehl aus:
locale
Beispiel einer Ausgabe:
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 ist LANG=C
, was darauf hindeutet, dass die japanische Umgebung nicht korrekt konfiguriert ist. Für eine japanische Umgebung sollte es idealerweise wie folgt aussehen:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Installation und Konfiguration des japanischen Locale
1. Japanisches Locale überprüfen und hinzufügen
Um zu überprüfen, ob das japanische Locale im System installiert ist, führen Sie den folgenden Befehl aus:
locale -a | grep ja_JP
Beispiel einer Ausgabe:
ja_JP.eucJP
ja_JP.utf8
Wenn ja_JP.utf8
nicht in der Liste angezeigt wird, müssen Sie das japanische Locale installieren.
Führen Sie die folgenden Befehle aus, um das japanische Locale hinzuzufügen:
sudo apt update
sudo apt install -y language-pack-ja
Aktivieren Sie anschließend das Locale mit den folgenden Befehlen:
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
2. System-Locale konfigurieren
Um die Locale-Änderung systemweit anzuwenden, führen Sie die folgenden Befehle aus:
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Um diese Einstellung 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
Oder, um die Einstellung für alle Benutzer zu übernehmen, bearbeiten Sie die folgende Datei:
sudo nano /etc/default/locale
Fügen Sie den folgenden Inhalt hinzu oder ändern Sie ihn:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Um die Einstellungen zu übernehmen, melden Sie sich ab und wieder an oder starten Sie das System neu.
4. Schriftarten installieren und konfigurieren
Notwendigkeit japanischer Schriftarten
In der Standardinstallation von Ubuntu sind japanische Schriftarten möglicherweise nicht enthalten. Dies kann dazu führen, dass japanischer Text nicht korrekt angezeigt wird und stattdessen leere Quadrate (□) oder unsinnige Symbole erscheinen.
Fehlende Schriftarten äußern sich besonders in folgenden Situationen:
- Menüs und Schaltflächen in GUI-Anwendungen zeigen Zeichenkodierungsprobleme.
- Japanische Texte in Texteditoren werden fehlerhaft dargestellt.
Empfohlene japanische Schriftarten
Folgende japanische Schriftarten können in Ubuntu verwendet werden:
Schriftartname | Merkmal |
---|---|
Noto Sans CJK JP | Hochwertige japanische Schriftart von Google (standardmäßig empfohlen) |
Takao-Schriftart | Traditionelle Ubuntu-Standardschriftart (mit dünnen und fetten Varianten) |
IPA-Schriftart | Hochwertige Schriftart, bereitgestellt von Information-technology Promotion Agency (IPA) |
VL Gothic | Hohe Lesbarkeit, optimiert für Terminals |
Installation von Schriftarten
1. Noto Sans CJK JP (Standardmäßig empfohlene Schriftart)
sudo apt update
sudo apt install -y fonts-noto-cjk
2. Takao-Schriftart
sudo apt install -y fonts-takao
3. IPA-Schriftart (Information-technology Promotion Agency)
sudo apt install -y fonts-ipafont
4. VL Gothic (für Terminals)
sudo apt install -y fonts-vlgothic
Nach Abschluss der Installation starten Sie das System neu oder aktualisieren Sie den Schriftart-Cache, um die Einstellungen zu übernehmen.
fc-cache -fv
Konfiguration von Schriftarten
Schriftarteinstellungen in GUI-Anwendungen
- Öffnen Sie die App „Einstellungen“.
- Öffnen Sie den Abschnitt „Schriftarten“.
- Ändern Sie „Standardschriftart“, „Dokumentschriftart“ und „Monospaced-Schriftart“ nach Ihren Wünschen.
- Melden Sie sich ab und wieder an, um die Einstellungen zu übernehmen.
Schriftarteinstellungen im Terminal
- Öffnen Sie das Terminal.
- Wählen Sie im Menü „Einstellungen“ → „Profil bearbeiten“.
- Aktivieren Sie im Abschnitt „Schriftart“ die Option „Benutzerdefinierte Schriftart verwenden“.
- Wählen Sie Ihre bevorzugte Schriftart (z.B. Noto Sans Mono CJK JP).
- Speichern Sie die Einstellungen und starten Sie das Terminal neu.
Anwendung und Überprüfung der Einstellungen
Um zu überprüfen, ob die Schriftarteinstellungen korrekt angewendet wurden, versuchen Sie Folgendes:
- Überprüfen Sie installierte Schriftarten mit dem Befehl
fc-list
.
fc-list | grep "Noto"
- Überprüfen Sie die Anzeige von Japanisch im Terminal.
echo "こんにちは、Ubuntuの文字化け対策"
- Überprüfen Sie, ob Japanisch in GUI-Anwendungen (Firefox, LibreOffice usw.) korrekt angezeigt wird.
5. Zeichenkodierung überprüfen und konvertieren
Was ist Zeichenkodierung?
Zeichenkodierung ist eine Regel, um Zeichen als digitale Daten zu behandeln. Zu den gängigen Zeichenkodierungen gehören:
Zeichenkodierung | Merkmal | Hauptanwendung |
---|---|---|
UTF-8 | Mehrsprachig, Standard unter Linux | Ubuntu und Webentwicklung |
Shift_JIS | Spezifisch für Japanisch, unter Windows dominant | Windows-Anwendungen, ältere Systeme |
EUC-JP | Wurde in UNIX-ähnlichen Systemen verwendet | Ältere Linux-Systeme |
ISO-2022-JP | Wird in E-Mails und bestimmten Umgebungen verwendet | E-Mail-Versand und -Empfang |
Ubuntu verwendet standardmäßig UTF-8. Wenn Dateien, die in einer anderen Zeichenkodierung gespeichert sind, geöffnet werden, kann es zu Zeichenkodierungsproblemen kommen.
Zeichenkodierung von Dateien überprüfen
1. Verwenden Sie den Befehl file
file -i sample.txt
Beispiel einer Ausgabe:
sample.txt: text/plain; charset=iso-8859-1
2. Verwenden Sie den Befehl nkf
sudo apt install -y nkf
nkf --guess sample.txt
Beispiel einer Ausgabe:
Shift_JIS (CRLF)
Zeichenkodierung konvertieren
1. Verwenden Sie den Befehl iconv
Beispiel: Konvertierung von Shift_JIS nach UTF-8:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Beispiel: Konvertierung von EUC-JP nach UTF-8:
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. Verwenden Sie den Befehl nkf
Beispiel: Konvertierung von Shift_JIS nach UTF-8:
nkf -w sample.txt > sample_utf8.txt
Beispiel: Konvertierung von EUC-JP nach UTF-8:
nkf -w --overwrite sample.txt
Maßnahmen gegen Zeichenkodierungsprobleme in Terminal und Editor
1. Korrektes Anzeigen mit dem Befehl less
export LESSCHARSET=utf-8
less sample.txt
2. Öffnen mit指定ierter Zeichenkodierung in vim
vim -c "set encoding=utf-8" sample.txt
3. Zeichenkodierung in gedit
oder VSCode
ändern
- gedit (Standard-GNOME-Editor)
- Öffnen Sie die Datei mit
gedit sample.txt
. - Beim „Speichern unter“ die „Kodierung“ auf
UTF-8
ändern.
- VSCode (Visual Studio Code)
- Klicken Sie unten rechts auf „Kodierung“.
- Konvertieren Sie zu
UTF-8
.

6. Überprüfung der Terminal- und Editor-Einstellungen
Terminal-Einstellungen überprüfen und korrigieren
1. Encoding-Einstellung des Terminals überprüfen
Um die aktuellen Umgebungsvariablen zu überprüfen, führen Sie die folgenden Befehle aus:
echo $LANG
echo $LC_ALL
Beispiel einer Ausgabe (bei korrekter Einstellung)
ja_JP.UTF-8
ja_JP.UTF-8
Wenn es sich um C
oder POSIX
handelt, müssen Sie es auf das entsprechende Locale (ja_JP.UTF-8
) ändern.
2. Schriftarteinstellung des Terminals
GNOME Terminal (Standard-Terminal)
- Öffnen Sie das Terminal.
- Öffnen Sie im Menü „Einstellungen“.
- Öffnen Sie „Profil bearbeiten“ → Registerkarte „Text“.
- Aktivieren Sie „Benutzerdefinierte Schriftart verwenden“ und wählen Sie eine der folgenden Optionen:
- Noto Sans Mono CJK JP
- VL Gothic
- Takao Gothic
- Speichern Sie die Einstellungen und starten Sie das Terminal neu.
Zeichenkodierungseinstellungen des Texteditors
1. Zeichenkodierungseinstellung von Vim
Um die aktuellen Einstellungen zu überprüfen, öffnen Sie Vim und führen Sie die folgenden Befehle aus:
:set encoding?
:set fileencoding?
Beispiel einer Ausgabe:
encoding=utf-8
fileencoding=utf-8
Wenn es sich nicht um utf-8
handelt, fügen Sie Folgendes zur Vim-Konfigurationsdatei (~/.vimrc
) hinzu, um UTF-8 als Standard festzulegen:
set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac
2. Zeichenkodierungseinstellung von Nano
Um die Standardeinstellung zu ändern, fügen Sie Folgendes zur Konfigurationsdatei (~/.nanorc
) hinzu:
set encoding "utf-8"
3. Zeichenkodierungseinstellung von VSCode (Visual Studio Code)
- Klicken Sie unten rechts im Editorfenster auf „Kodierung“.
- Wählen Sie unter „Kodierung ändern“ die Option
UTF-8
. - Führen Sie bei Bedarf „Mit Kodierung speichern“ aus.
Um die Standardeinstellung auf UTF-8
zu setzen, fügen Sie außerdem Folgendes zur Konfigurationsdatei (settings.json) hinzu:
"files.encoding": "utf8"
7. Fallbasierte Lösungen
Maßnahmen gegen Zeichenkodierungsprobleme in GUI-Anwendungen
1. Japanische Anzeige in Firefox oder Chrome ist fehlerhaft
Lösung:
- Installieren Sie die erforderlichen Schriftarten.
sudo apt install -y fonts-noto-cjk fonts-ipafont
- Überprüfen Sie die Schriftarteinstellungen des Browsers.
- Firefox:
- Gehen Sie zu
about:preferences
und öffnen Sie „Schriftarten & Farben“ → „Erweitert“. - Ändern Sie „Proportional“ und „Monospace“ auf
Noto Sans CJK JP
.
- Gehen Sie zu
- Chrome:
- Gehen Sie zu
chrome://settings/fonts
. - Ändern Sie „Standardschriftart“ und „Monospace-Schriftart“ auf
Noto Sans CJK JP
.
- Gehen Sie zu
2. Japanische Zeichenkodierungsprobleme in LibreOffice
Lösung:
- Installieren Sie
fonts-noto-cjk
undfonts-ipafont
. - Ändern Sie die Einstellungen von LibreOffice.
- „Extras“ → „Optionen“ → „LibreOffice“ → „Schriftarten“
- Ändern Sie „Standardschriftart“ auf
Noto Sans CJK JP
.
Maßnahmen gegen Zeichenkodierungsprobleme in der CUI-Umgebung
1. Zeichenkodierungsprobleme bei SSH-Verbindungen
Lösung:
- Überprüfen Sie das
locale
auf dem Server und stellen Sie sicher, dass es aufja_JP.UTF-8
eingestellt ist.
locale
- Wenn es nicht auf
ja_JP.UTF-8
eingestellt ist, führen Sie Folgendes aus:
sudo apt install -y language-pack-ja
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
Maßnahmen gegen Zeichenkodierungsprobleme in bestimmten Anwendungen
1. Zeichenkodierungsprobleme in WSL (Windows Subsystem for Linux)
Lösung:
- Stellen Sie das WSL-Locale auf
ja_JP.UTF-8
ein.
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
- Ändern Sie die Schriftart des Windows-Terminals auf
Noto Sans Mono CJK JP
.
2. Zeichenkodierungsprobleme in Docker-Containern
Lösung:
- Gehen Sie in den Docker-Container und überprüfen Sie das Locale.
docker exec -it container_name bash
locale
- Fügen Sie das japanische Locale hinzu.
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)
F1. Ich habe das Locale eingestellt, aber die Zeichenkodierungsprobleme wurden nicht behoben.
A: Wenn die Zeichenkodierungsprobleme auch nach korrekter Locale-Einstellung nicht behoben sind, überprüfen Sie Folgendes:
locale
Wenn es nicht LANG=ja_JP.UTF-8
ist, ist eine Neukonfiguration erforderlich.
sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales
F2. Nur bestimmte Dateien zeigen Zeichenkodierungsprobleme.
A: Die Zeichenkodierung kann von Datei zu Datei unterschiedlich sein. Überprüfen Sie die Zeichenkodierung mit der folgenden Methode:
file -i sample.txt
Wenn es nicht UTF-8
ist, ist eine Konvertierung erforderlich.
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Oder, wenn Sie nkf
verwenden:
nkf -w --overwrite sample.txt
F3. Japanische Eingabe ist im Terminal nicht möglich.
A: Überprüfen Sie, ob japanische Eingabemethoden (Fcitx oder IBus) installiert sind.
sudo apt update
sudo apt install -y fcitx-mozc
im-config -n fcitx
F4. Japanisch zeigt Zeichenkodierungsprobleme in WSL (Windows Subsystem for Linux).
A: Stellen Sie das WSL-Locale auf ja_JP.UTF-8
ein.
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
F5. Japanisch zeigt Zeichenkodierungsprobleme in Docker-Containern.
A: Wenn das Locale des Docker-Containers auf C.UTF-8
eingestellt ist, wird Japanisch 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
F6. Menüs und Dialoge in Ubuntu GUI-Apps zeigen Zeichenkodierungsprobleme.
A: Installieren Sie fonts-noto-cjk
und ändern Sie die Schriftarteinstellungen.
sudo apt install -y fonts-noto-cjk fonts-ipafont
9. Zusammenfassung
Dieser Artikel hat die **Probleme mit der Zeichenkodierung in Ubuntu** sowie deren Ursachen und Lösungen ausführlich erläutert. Zeichenkodierungsprobleme treten aufgrund von fehlerhaften Locale-Einstellungen, nicht installierten Schriftarten oder inkonsistenten Zeichenkodierungen auf, können aber durch die richtige Konfiguration vermieden werden.
1. Hauptursachen für Zeichenkodierungsprobleme
- Fehlkonfiguration des Locale: Wenn die Standardsprache von Ubuntu auf
C
oderPOSIX
eingestellt ist, wird Japanisch nicht korrekt angezeigt. - Nicht eingestellte Schriftarten: Wenn japanische Schriftarten nicht installiert sind, treten Zeichenkodierungsprobleme in der GUI oder im Terminal auf.
- Inkonsistente Zeichenkodierungen: Das Öffnen von Dateien mit anderen Zeichenkodierungen (wie Shift_JIS) führt zu Zeichenkodierungsproblemen.
- Fehlkonfiguration von Terminal oder Editor: Wenn nicht auf UTF-8 eingestellt, wird es nicht korrekt angezeigt.
2. Lösungen für Zeichenkodierungsprobleme
Bereich | Lösung |
---|---|
Locale-Einstellung | Mit locale überprüfen und update-locale LANG=ja_JP.UTF-8 ausführen. |
Schriftarteninstallation | sudo apt install -y fonts-noto-cjk fonts-ipafont |
Zeichenkodierung überprüfen | Dateizeichenkodierung mit file -i oder nkf --guess überprüfen. |
Zeichenkodierung konvertieren | iconv -f SHIFT_JIS -t UTF-8 dateiname -o konvertierte_dateiname |
Terminal-Einstellung | LESSCHARSET=utf-8 einstellen und Schriftart auf Noto Sans Mono CJK JP ändern. |
GUI-Zeichenkodierungsprobleme | Schriftart auf Noto Sans CJK JP einstellen und bei Bedarf gnome-tweaks verwenden. |
WSL-Zeichenkodierungsprobleme | LANG=ja_JP.UTF-8 einstellen und Schriftart ändern. |
Docker-Zeichenkodierungsprobleme | locale-gen ja_JP.UTF-8 ausführen und Locale in Dockerfile einstellen. |
3. Zusätzliche Maßnahmen
- System regelmäßig aktualisieren: Veraltete Ubuntu-Pakete können die japanische Umgebung beeinträchtigen.
sudo apt update && sudo apt upgrade -y
- Einstellungen dauerhaft speichern: Änderungen zu
~/.bashrc
oder~/.profile
hinzufügen, damit sie beim Login angewendet werden. - Backups erstellen: Bevor Sie Konfigurationsdateien wie
/etc/default/locale
ändern, erstellen Sie ein Backup.
Fazit
Zeichenkodierungsprobleme in Ubuntu können durch die korrekte Einstellung der vier Elemente **Locale, Schriftarten, Zeichenkodierung und Terminaleinstellungen** gelöst werden. Durch die Anwendung der in diesem Artikel beschriebenen Methoden können Zeichenkodierungsprobleme in den meisten Umgebungen vermieden werden.