在Windows 10的较新版本和Windows 11中,CMD(命令提示符)默认使用UTF-8编码。但是,如果你的系统是较旧的Windows版本,或者你发现默认编码不是UTF-8,可以通过以下步骤来设置:
通过设置更改:
打开“设置”应用。点击“时间和语言”。选择“语言”。点击“首选语言”旁边的“选项”。在“管理语言设置”中,找到“Unicode”或“非Unicode程序”设置,确保勾选了“使用Unicode UTF-8提供全球语言支持”。通过注册表更改:
按下Win + R打开“运行”对话框,输入regedit并按回车打开注册表编辑器。
导航到以下路径:
HKEY_CURRENT_USERConsole
如果没有Console项,你需要新建一个。
在Console项下,新建一个DWORD (32位)值,命名为CodePage。
双击CodePage,将其值设置为65001(这是UTF-8的代码页编号)。
通过命令行更改:
打开CMD控制台。
输入以下命令来临时更改当前会话的代码页为UTF-8:
chcp 65001
这将只影响当前的CMD会话,关闭窗口后设置将不再有效。
通过系统区域设置更改:
控制面板 -> 时钟和区域 -> 区域和语言。在“管理”选项卡下,点击“更改系统区域设置”。勾选“使用Unicode UTF-8提供全球语言支持”(这可能需要重启)。通过PowerShell更改:
虽然这是针对PowerShell的设置,但如果你在使用PowerShell,可以通过以下命令来设置默认编码为UTF-8:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
通过注册表更改方式二:
打开注册表编辑器:按下Win + R键,输入regedit,然后按回车键。
导航到以下路径:HKEY_LOCAL_MACHINESoftwareMicrosoftCommand Processor
在右侧窗格中,右键单击空白区域,选择“新建”>“DWORD值(32位)”。
将新创建的DWORD值命名为“Autorun”,然后双击它以编辑其值数据。
在“数值数据”框中,输入“chcp 65001”,然后点击“确定”。
关闭注册表编辑器。
重新启动cmd控制台,现在它应该默认使用utf-8编码了。
请记住,更改注册表可能会对系统造成不可预见的影响,因此在进行修改之前,请确保备份注册表。如果你不确定如何操作,或者担心可能会影响系统稳定性,建议使用命令行chcp 65001来临时更改编码。