
Derzeit verwende ich Windows 7 x64 und möchte normalerweise, dass alle Konsolentools mit UTF-8 und nicht mit der Standardcodepage 850 funktionieren.
Das Ausführen chcp 65001
in der Eingabeaufforderung vor der Verwendung von Tools ist hilfreich, aber gibt es eine Möglichkeit, es als Standardcodepage festzulegen?
Aktualisieren:
Das Ändern HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
des Werts führt 65001
in meinem Fall scheinbar dazu, dass das System nicht mehr gestartet werden kann.
Die vorgeschlagene Änderung von HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun
in @chcp 65001>nul
hat für meinen Zweck gut geklappt. (Danke anOle_Brun)
Antwort1
Um die Codepage nur für die Konsole zu ändern, gehen Sie wie folgt vor:
- Start -> Ausführen -> regedit
- Gehe zu
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- Ändern Sie den Wert in
@chcp 65001>nul
Wenn Autorun
nicht vorhanden, können Sie hinzufügen einNew String
Antwort2
In der Version 1809 von Windows 10 konnte ich das Problem dauerhaft lösen, indem ich zum System ging Language settings
, das Kontrollkästchen auswählte Administrative language settings
, anklickte Change system locale...
und aktivierte Beta: Use Unicode UTF-8 for worldwide language support
und dann meinen PC neu startete.
Auf diese Weise gilt es für alle Anwendungen, auch für diejenigen, die ich nicht von einer Eingabeaufforderung aus starte!
(Was für mich notwendig war, da ich versuchte, Agda-Code von Atom aus zu bearbeiten.)
Antwort3
Ich persönlich mag es nicht, die Registrierung zu ändern. Dies kann viele Probleme verursachen. Ich habe eine Batchdatei erstellt:
@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS
Ich habe unter C:\Windows\System32
„ gespeichert“ switch.bat
und eine Verknüpfung cmd.exe
auf dem Desktop erstellt.
Habe in den Eigenschaften der Befehlsverknüpfung das Ziel wie folgt geändert:C:\Windows\System32\cmd.exe /k switch
Voilà, wenn ich in UTF-8 tippen muss, verwende ich diesen Link.
Antwort4
Der Befehl zum Ändern der Codepage lautet chcp <codepage>
. Beispiel: chcp 1252
. Sie sollten ihn in ein Powershell-Fenster eingeben. Um sich die Mühe zu ersparen, ihn jedes Mal einzugeben (wenn Sie die Codepage immer ändern müssen), können Sie ihn an die Befehlszeile des Programms anhängen. Gehen Sie dazu folgendermaßen vor:
- Klicken Sie mit der rechten Maustaste auf das Powershell-Symbol im Startmenü und wählen Sie „Mehr“ > „Dateispeicherort öffnen“.
- Klicken Sie mit der rechten Maustaste auf die Powershell-Verknüpfung und wählen Sie „Eigenschaften“.
- Fügen Sie am Ende der „Ziel“-Befehlszeile Folgendes hinzu:
-NoExit -Command "chcp 1252"
Seien Sie glücklich. Machen Sie sich keine Gedanken über die Windows-Registrierung, es sei denn, Sie haben keine andere Wahl.