在Windows 10的较新版本和Windows 11中,CMD(命令提示符)默认使用UTF-8编码。但是,如果你的系统是较旧的Windows版本,或者你发现默认编码不是UTF-8,可以通过以下步骤来设置:

  1. 通过设置更改:

    • 打开“设置”应用。

    • 点击“时间和语言”。

    • 选择“语言”。

    • 点击“首选语言”旁边的“选项”。

    • 在“管理语言设置”中,找到“Unicode”或“非Unicode程序”设置,确保勾选了“使用Unicode UTF-8提供全球语言支持”。

  2. 通过注册表更改:

    • 按下Win + R打开“运行”对话框,输入regedit并按回车打开注册表编辑器。

    • 导航到以下路径:

      HKEY_CURRENT_USER\Console

    • 如果没有Console项,你需要新建一个。

    • Console项下,新建一个DWORD (32位)值,命名为CodePage

    • 双击CodePage,将其值设置为65001(这是UTF-8的代码页编号)。

  3. 通过命令行更改:

    • 打开CMD控制台。

    • 输入以下命令来临时更改当前会话的代码页为UTF-8:

      chcp 65001

    • 这将只影响当前的CMD会话,关闭窗口后设置将不再有效。

  4. 通过系统区域设置更改:

    • 控制面板 -> 时钟和区域 -> 区域和语言。

    • 在“管理”选项卡下,点击“更改系统区域设置”。

    • 勾选“使用Unicode UTF-8提供全球语言支持”(这可能需要重启)。

  5. 通过PowerShell更改:

    • 虽然这是针对PowerShell的设置,但如果你在使用PowerShell,可以通过以下命令来设置默认编码为UTF-8:

      [Console]::OutputEncoding = [System.Text.Encoding]::UTF8

  6. 通过注册表更改方式二:(永久方式)

    • 打开注册表编辑器:按下Win + R键,输入regedit,然后按回车键。

    • 导航到以下路径:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

    • 在右侧窗格中,右键单击空白区域,选择“新建”>“DWORD值(32位)”。

    • 将新创建的DWORD值命名为“Autorun”,然后双击它以编辑其值数据。

    • 在“数值数据”框中,输入“chcp 65001”,然后点击“确定”。

    • 关闭注册表编辑器。

    • 重新启动cmd控制台,现在它应该默认使用utf-8编码了。

请记住,更改注册表可能会对系统造成不可预见的影响,因此在进行修改之前,请确保备份注册表。如果你不确定如何操作,或者担心可能会影响系统稳定性,建议使用命令行chcp 65001来临时更改编码。