在Windows 10的较新版本和Windows 11中,CMD(命令提示符)默认使用UTF-8编码。但是,如果你的系统是较旧的Windows版本,或者你发现默认编码不是UTF-8,可以通过以下步骤来设置:
-
通过设置更改:
- 打开“设置”应用。
- 点击“时间和语言”。
- 选择“语言”。
- 点击“首选语言”旁边的“选项”。
- 在“管理语言设置”中,找到“Unicode”或“非Unicode程序”设置,确保勾选了“使用Unicode UTF-8提供全球语言支持”。
- 但这种方案的缺陷相当明显,并不是所有的windows软件都是UTF8,这样改可能让你其他软件用不了出问题
-
通过注册表更改:
-
按下
Win + R
打开“运行”对话框,输入regedit
并按回车打开注册表编辑器。 -
导航到以下路径:
HKEY_CURRENT_USER\Console
-
如果没有
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_MACHINE\Software\Microsoft\Command Processor
-
在右侧窗格中,右键单击空白区域,选择“新建”>“字符串
值
”。 -
将新创建的字符串值命名为“
Autorun
”,然后双击它以编辑其值数据。 -
在“数值数据”框中,输入“
chcp 65001
”,然后点击“确定”。 -
关闭注册表编辑器。
-
重新启动cmd控制台,现在它应该默认使用utf-8编码了。
-
请记住,更改注册表可能会对系统造成不可预见的影响,因此在进行修改之前,请确保备份注册表。如果你不确定如何操作,或者担心可能会影响系统稳定性,建议使用命令行chcp 65001
来临时更改编码。