將 Windows 控制台的預設代碼頁變更為 UTF-8

將 Windows 控制台的預設代碼頁變更為 UTF-8

目前我運行的是 Windows 7 x64,通常我希望所有控制台工具都使用 UTF-8,而不是預設代碼頁 850。

chcp 65001在使用任何工具之前在命令提示字元中運行會有所幫助,但是有什麼方法可以將其設定為預設程式碼頁嗎?

更新:

在我的情況下,更改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP值似乎65001會使系統無法啟動。

提議的更改HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun非常@chcp 65001>nul適合我的目的。 (謝謝奧勒·布倫

答案1

若要僅變更控制台的程式碼頁,請執行下列操作:

  1. 開始 -> 運行 -> regedit
  2. [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
  3. 將值更改為@chcp 65001>nul

如果Autorun不存在,您可以新增New String

答案2

在 Windows 10 的 1809 版本中,我透過前往系統的Language settings、選取Administrative language settings、按一下Change system locale...並選取該Beta: Use Unicode UTF-8 for worldwide language support框,然後重新啟動我的電腦,成功地永久解決了這個問題。

這樣它適用於所有應用程序,甚至是那些我不從命令提示字元啟動的應用程式!
(這對我來說是必要的,因為我試圖從 Atom 編輯 Agda 程式碼。)

Windows 螢幕截圖 - 區域設定 - UTF-8

答案3

就我個人而言,我不喜歡更改註冊表。這可能會導致很多問題。我建立了一個批次檔:

@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS

我保存C:\Windows\System32為並在桌面上switch.bat創建了一個連結。cmd.exe

在cmd快捷方式的屬性中,將目標變更為:C:\Windows\System32\cmd.exe /k switch

瞧,當我需要輸入 UTF-8 時,我使用此連結。

答案4

更改代碼頁的命令是chcp <codepage>。例:chcp 1252。您應該在 Powershell 視窗中輸入它。為了避免每次輸入的麻煩(如果您總是需要更改程式碼頁),您可以將其附加到程式的命令列中。為此,請按照下列步驟操作:

  1. 右鍵單擊“開始”功能表上的 Powershell 圖標,然後選擇“更多”>“開啟檔案位置”。
  2. 右鍵單擊 Powershell 快捷方式並選擇“屬性”。
  3. 將以下內容新增至「Target」命令列的末尾:-NoExit -Command "chcp 1252"

要開心。除非您別無選擇,否則不要對 Windows 註冊表大驚小怪。

相關內容