Wie stelle ich sicher, dass Windows Terminal die Eingabe in UTF-8 korrekt darstellt?
- Voraussetzungen für UTF-8-Unterstützung im Windows Terminal
- Einstellung der Schriftart im Windows Terminal
- Konfiguration der Shell und des Terminals auf UTF-8
- Windows 10/11 systemweite UTF-8-Unterstützung
- Unicode-Eingabe im Windows Terminal sicherstellen
- Zusammenfassung
Voraussetzungen für UTF-8-Unterstützung im Windows Terminal
Windows Terminal unterstützt standardmäßig Unicode und UTF-8 Zeichencodierungen. Dennoch ist es wichtig, einige Einstellungen sowohl im Terminal selbst als auch in der verwendeten Shell zu überprüfen, damit die Eingabe und Ausgabe korrekt dargestellt wird. Insbesondere bei Programmen oder Ausgaben, die spezielle oder nicht-lateinische Zeichen verwenden, kann es sonst zu fehlerhaften Darstellungen kommen.
Einstellung der Schriftart im Windows Terminal
Eine der wichtigsten Voraussetzungen für die korrekte Anzeige von UTF-8 Zeichen ist die Verwendung einer Schriftart, die Unicode beziehungsweise UTF-8-Zeichen vollständig unterstützt. Im Windows Terminal öffnet man die settings.json oder verwendet die grafische Einstellungsoberfläche. Dort sollte unter dem Abschnitt des verwendeten Profils (z.B. PowerShell oder Eingabeaufforderung) der Schriftartenname angepasst werden. Empfohlene Schriftarten sind etwa Consolas, Cascadia Code, Fira Code oder DejaVu Sans Mono.
Die passende Einstellung sieht in der settings.json beispielsweise so aus:
{ "profiles": { "list": }}Konfiguration der Shell und des Terminals auf UTF-8
Windows-Terminal ist primär eine Oberfläche, die verschiedene Shells hosten kann. Damit Eingabe und Ausgabe in UTF-8 laufen, muss die Shell entsprechend konfiguriert sein.
In PowerShell sollte die Codepage auf UTF-8 eingestellt werden. Das kann mit folgendem Befehl erfolgen:
chcp 65001Dieser Befehl setzt die aktive Codepage auf UTF-8. Alternativ kann man in neueren Windows-Versionen PowerShell oder PowerShell Core verwenden, die UTF-8 nativ gut unterstützen.
In der Eingabeaufforderung (cmd.exe) funktioniert chcp 65001 ebenfalls, um die Codepage auf UTF-8 zu setzen.
Darüber hinaus können Programm oder Skripte jeweils sicherstellen, dass Sie UTF-8 nutzen, indem sie z.B. ihre Ausgabecodierung auf UTF-8 festlegen oder Unicode-Eingaben korrekt lesen.
Windows 10/11 systemweite UTF-8-Unterstützung
Seit Windows 10 (ab Version 1903) gibt es die Möglichkeit, eine systemweite UTF-8-Unterstützung zu aktivieren. Dies stellt sicher, dass Anwendungen die Beta UTF-8-Konsole als Codepage verwenden und somit standardmäßig UTF-8 benutzt wird. Diese Option kann über die Regionseinstellungen aktiviert werden:
Im Windows-Startmenü Regionseinstellungen aufrufen, dort unter Verwaltung geben Sie bei Sprache für nicht Unicode-Programme ändern die Option Beta: Weltweit UTF-8-Codepage verwenden frei. Nach einem Neustart des Systems nutzen viele Programme dann UTF-8 automatisch.
Unicode-Eingabe im Windows Terminal sicherstellen
Manchmal sorgt auch die Eingabemethode für Probleme. Windows Terminal unterstützt standardmäßig Unicode-Eingaben, aber es kann sinnvoll sein, Eingabemethoden (IME) korrekt einzustellen — besonders wenn komplexe Zeichen oder Sprachen wie Japanisch, Chinesisch oder Arabisch eingegeben werden sollen. Windows bietet dafür diverse IMEs in den Spracheinstellungen an.
Zusammenfassung
Um sicherzustellen, dass Windows Terminal Eingaben in UTF-8 korrekt darstellt, sollten Sie zuerst die Schriftart innerhalb des Terminals auf eine Unicode-fähige Schrift einstellen. Danach muss die Shell selbst auf UTF-8 getrimmt werden, z. B. mit dem Befehl chcp 65001. Es ist ratsam,, falls möglich, die systemweite UTF-8-Unterstützung zu aktivieren. Zudem ist darauf zu achten, dass Programme und Skripte die Ausgabe und Eingabe auf UTF-8 konfigurieren und keine proprietären oder nicht standardisierte Zeichencodierungen verwenden. Durch diese Kombination aus Terminal-, Shell- und Systemeinstellungen können Sie eine fehlerfreie UTF-8-Darstellung sicherstellen.