用 chcp 65001 把命令行切换为 UTF-8 编码

cmd 代码页默认是 ANSI(中文系统为 936),用 chcp 65001 切到 UTF-8,解决脚本输出乱码问题。

Windows命令提示符开发UTF-8编码低风险
在控制台运行 chcp 65001(先用不带参数的 chcp 查看当前代码页),当前窗口立即生效。

01命令

命令
$ chcp 65001

02作用说明

cmd 默认代码页是老的 ANSI 页(美式 437、简体中文 936),程序按 UTF-8 输出的字节就会显示成乱码。chcp 65001 让控制台按 UTF-8 解读输出,可以解决 git、Node、Python 和各种构建工具的乱码,但只对当前会话有效。它救不了本来就存错编码的文件,而且个别老工具在 65001 下反而异常——必要时用 chcp 936 切回去。

03风险

风险低风险
!注意: chcp 只影响当前控制台会话;批处理文件本身编码不对时输出仍然是乱码。

04撤销

撤销
$ chcp 936

05来源

  • chcp
    Microsoft Learn · vendor-doc · 2026-09-17
    依据: chcp sets the active console code page; 65001 selects UTF-8, 936 is the Simplified Chinese ANSI page.
  • ChCP - SS64
    SS64 · technical · 2026-09-17
    依据: Documents chcp 65001 for UTF-8 and lists common code pages, noting the setting is per-console-session.

最后验证: 2026-09-18 · 分类: 开发者

06相关方案