目前我正在运行 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
要仅更改控制台的代码页,请执行以下操作:
- 开始 -> 运行 -> regedit
- 去
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- 将值更改为
@chcp 65001>nul
如果Autorun
不存在,您可以添加New String
答案2
答案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 窗口中输入它。为了避免每次都输入它的麻烦(如果您总是必须更改代码页),您可以将其附加到程序的命令行。为此,请按照以下步骤操作:
- 右键单击开始菜单上的 Powershell 图标,然后选择“更多”>“打开文件位置”。
- 右键单击 Powershell 快捷方式并选择“属性”。
- 在“目标”命令行末尾添加以下内容:
-NoExit -Command "chcp 1252"
开心就好。除非别无选择,否则不要对 Windows 注册表大惊小怪。