在 Windows 命令提示符 (CMD) 中,默认编码可能是 GBK,这会导致显示和处理非英文字符(如中文或 UTF-8 编码数据)时出现乱码。以下是修改编码的方法:
1. 修改 CMD 的当前编码
使用以下命令临时更改 CMD 的编码:
更改为 UTF-8 编码
chcp 65001
- 说明:
chcp
是更改代码页的命令。65001
表示 UTF-8 编码。
更改为默认 GBK 编码
如果需要恢复到默认的 GBK 编码(简体中文),运行:
chcp 936
查看当前编码
运行以下命令查看当前的代码页:
chcp
2. 修改默认编码(永久生效)
如果需要 CMD 启动时默认使用 UTF-8,可以修改注册表。
修改步骤:
-
打开注册表编辑器:
- 按
Win + R
,输入regedit
,然后按回车。
- 按
-
定位到注册表键:
- 找到路径:
HKEY_CURRENT_USER\Console
- 找到路径:
-
修改编码值:
- 找到右侧的
CodePage
(如果没有,需要新建):- 右键空白区域,选择 新建 -> DWORD (32位)值。
- 命名为
CodePage
。
- 双击
CodePage
,选择 十进制,输入65001
,然后保存。
- 找到右侧的
-
关闭 CMD 并重新打开:
- 现在 CMD 默认使用 UTF-8 编码。
3. 注意事项
-
乱码问题:
- 某些情况下,UTF-8 编码可能仍会显示乱码,特别是在显示 GBK 编码内容时。
- 如果需要输出中文且避免乱码,建议同时使用 UTF-8 编码和支持 UTF-8 的字体(如 Consolas 或 新宋体)。
- 在 CMD 属性中选择合适的字体:右键 CMD 窗口标题 -> 属性 -> 字体。
-
Powershell:
- 如果频繁使用 UTF-8,可以考虑使用 Powershell,默认支持更好的编码处理:
$OutputEncoding = [System.Text.Encoding]::UTF8
- 如果频繁使用 UTF-8,可以考虑使用 Powershell,默认支持更好的编码处理: