必须同时启用“utf-8支持”并设置系统区域为“中文(简体,中国)”,才能解决windows 10中老旧软件中文乱码问题;仅启一者会导致日期格式错乱或乱码依旧。

Windows 10中运行老旧软件、命令行工具或VC++编译器时出现中文显示为方框、问号或日文假名,根本原因是非Unicode程序默认使用的代码页(如GBK/936)与UTF-8文本不兼容,必须将系统级非Unicode语言环境切换为“UTF-8支持+中文区域”的组合配置,而非单纯选“中文(简体,中国)”。
启用UTF-8全局编码并绑定中文区域
这一步直接修改系统内核级代码页解析逻辑,影响所有未指定编码的.exe程序,是解决跨语言乱码最彻底的方式。
1、右键点击“开始”按钮 → 选择“控制面板” → 将右上角“查看方式”设为“小图标” → 点击“区域”。
2、切换到“管理”选项卡 → 点击“更改系统区域设置”按钮。
3、勾选【Beta版:使用Unicode UTF-8提供全球语言支持】 → 在下方“当前系统区域设置”下拉菜单中选择【中文(简体,中国)】 → 点击“确定”。
⚠️ 注意:两个选项必须同时启用,缺一不可。只勾UTF-8不选中文,会导致日期/货币格式错乱;只选中文不勾UTF-8,则仍走GBK路径,乱码照旧。
4、系统弹出提示:“某些程序可能无法正常工作”,点击“确定” → 立即重启电脑。
验证UTF-8是否生效
重启后需确认底层代码页已切换为65001,否则后续所有操作都无效。
方法一:打开CMD → 输入chcp → 回车 → 显示结果应为【活动代码页:65001】。
方法二:在PowerShell中运行[System.Text.Encoding]::Default.WebName → 返回值必须是【utf-8】。
若任一验证失败,请返回上一节重新执行,重点检查“Beta版”复选框是否真正被勾选(部分系统会自动取消该勾选)。
为特定乱码软件单独加固兼容性
有些软件(如旧版PLC编程工具、DOS游戏、Delphi编译器)即使系统启用了UTF-8仍会乱码,需手动注入中文语言层。
第一步:找到该软件的主程序(.exe文件),右键 → “属性” → “兼容性”选项卡。
第二步:点击“更改高DPI设置” → 勾选“替代高DPI缩放行为” → 在下拉菜单中选择“应用程序”。
第三步:回到“兼容性”选项卡 → 点击“更改所有用户的设置” → 勾选“以兼容模式运行这个程序” → 选择“Windows 7”。
第四步:点击“设置”按钮(位于“更改所有用户的设置”下方)→ 再次勾选“替代高DPI缩放行为” → “高DPI缩放替代”选“系统(增强)”。
这四步叠加后,系统会在启动该.exe时强制加载中文语言资源并绕过DPI缩放干扰,比单纯改区域设置更可靠。
回退方案:禁用UTF-8恢复GBK兼容性
若启用UTF-8后发现记事本保存ANSI文件异常、Excel导入CSV乱码、或某款关键行业软件彻底崩溃,需立即还原。
进入“控制面板 → 区域 → 管理 → 更改系统区域设置” → 取消勾选“Beta版:使用Unicode UTF-8…” → 下拉菜单仍保持“中文(简体,中国)” → 点击“确定” → 重启。
重启后CMD中运行chcp应显示【活动代码页:936】,表示已回归GBK安全模式。











