cmd中文乱码是因代码页与字符编码不匹配,可通过临时切换(chcp 65001/936)、属性设置默认编码、注册表修改codepage值、更换支持中文的字体(如lucida console)、调整系统区域设置五种方法解决。

如果您在 Windows 系统中打开 CMD 命令提示符,发现中文显示为问号、方块或乱码字符,则极可能是命令行当前使用的代码页(Code Page)与程序输出的字符编码不匹配所致。以下是多种可操作、互不依赖的解决方法:
一、临时切换当前会话编码
该方法仅对当前 CMD 窗口生效,关闭后自动恢复原编码,适合快速验证或单次调试。
1、点击开始菜单,输入“cmd”并以管理员或普通权限打开命令提示符窗口。
2、在窗口中输入命令:chcp 65001,按回车执行,确认返回“活动代码页:65001”。
3、若需切换回简体中文 GBK 编码,输入:chcp 936,按回车执行。
4、执行后立即运行含中文输出的程序(如 echo 中文、python 脚本等),观察是否恢复正常显示。
二、通过属性设置永久修改默认编码
此方式修改 CMD 窗口的默认配置,对所有新启动的 CMD 实例生效,无需每次手动输入 chcp。
1、打开任意 CMD 窗口,右键点击标题栏,选择“属性”。
2、切换至“选项”选项卡,向下滚动找到“当前代码页”下拉菜单。
3、从中选择UTF-8(65001)或当前代码页:936(GBK),根据实际使用环境决定。
4、勾选下方的“应用为默认值”复选框,点击“确定”保存。
5、关闭当前窗口,重新打开 CMD,执行 chcp 验证是否已生效。
三、通过注册表修改实现全局永久生效
当“属性”设置无法持久化(如组策略限制或配置被重置)时,可直接修改用户级注册表项,确保每次启动 CMD 均加载指定代码页。
1、按 Win + R 打开运行框,输入 regedit 并回车,启动注册表编辑器。
2、导航至路径:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe。
电脑手机电子配件电子商城网站模板是一款提供手机、手表、电脑等电子配件和设备的电子商城宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
3、在右侧空白处右键,选择“新建 → DWORD (32位)值”,命名为 CodePage。
4、双击该新建项,将“数值数据”设为十进制 65001(UTF-8)或 936(GBK),基数选“十进制”。
5、关闭注册表编辑器,重启 CMD 窗口,执行 chcp 查看是否已应用新代码页。
四、配合字体设置确保中文渲染正确
即使代码页正确,若所选字体不支持 Unicode 或缺失中文字形,仍会显示为空白、方块或乱码。
1、打开 CMD 窗口,右键标题栏选择“属性”。
2、切换至“字体”选项卡。
3、从列表中选择明确支持中文的等宽字体,例如:Lucida Console 或 Consolas。
4、避免选择“点阵字体”(如 Terminal),因其对 UTF-8 和扩展汉字支持极差。
5、点击“确定”保存,关闭并重开 CMD 验证中文是否清晰可读。
五、通过系统区域设置统一非Unicode程序行为
部分老旧程序(如某些批处理工具、DOS 兼容软件)依赖系统区域设置中的“非Unicode程序语言”,该设置影响其默认字符集解释逻辑。
1、打开“控制面板 → 时钟和区域 → 区域”,切换到“管理”选项卡。
2、点击“更改系统区域设置”按钮。
3、若需兼容绝大多数中文软件,保持取消勾选“Beta版:使用 Unicode UTF-8 提供全球语言支持”,并将区域设置为中文(简体,中国)。
4、勾选下方“复制设置”按钮,同步至欢迎屏幕、系统账户及新建用户账户。
5、重启计算机使更改完全生效。










