控制面板锁屏后显示乱码与uni-app无关,根源在于Windows系统区域设置、Unicode UTF-8 Beta选项启用、中文字体缺失或注册表Locale配置错误;需先重置系统区域为“中文(简体,中国)”并禁用UTF-8 Beta选项,再安装中文补充字体、修正注册表LocaleName和Locale值。

uni-app 本身没有“锁屏控制面板”这个概念——你看到的乱码,大概率是 Windows 系统级控制面板在锁屏后或唤醒时显示异常,和 uni-app 项目完全无关。别在代码里折腾了,问题出在系统区域设置和字体上。
为什么控制面板锁屏后显示乱码
Win11/Win10 控制面板(尤其是“区域”“语言”“日期和时间”等界面)在锁屏状态或唤醒后出现方块、问号、日文字符,根本原因是:系统非 Unicode 程序的代码页被错误覆盖,或中文字体未加载到位。常见诱因包括:
- 误启用了注册表或设置里的
Beta版:使用Unicode UTF-8提供全球语言支持 -
LocaleName注册表值不是zh-CN,或Locale不是00000804 - 系统缺失
SimSun、MS Shell Dlg等基础中文字体 - 用户配置文件损坏,导致锁屏界面沿用错误的区域上下文
重置系统区域设置(最有效一步)
这步必须最先做,否则后续操作可能无效:
- 按
Win + R输入control回车,打开控制面板 - 右上角“查看方式”设为“小图标”,点击“区域”
- 切换到“管理”选项卡 → 点击“更改系统区域设置”
- 下拉选择“中文(简体,中国)”,务必取消勾选 “Beta版:使用Unicode UTF-8提供全球语言支持”
- 勾选“重新启动以应用更改”,点“确定”后立即重启
手动安装中文补充字体
Win11 默认不装 SimSun(宋体),而控制面板 UI 强依赖它:
- 按
Win + I→ “应用” → “可选功能” → “查看功能” - 搜索“中文(简体)的补充字体”,勾选并安装
- 若网络不可用,从正常 Win11 设备复制
simsun.ttc、simhei.ttf到本机C:\Windows\Fonts - 无需重启,复制后系统自动注册,可立刻验证控制面板是否恢复
检查并修复注册表关键项
升级或迁移后,HKEY_CURRENT_USER\Control Panel\International 下的值可能残留错误:
- 按
Win + R输入regedit回车 - 定位到
HKEY_CURRENT_USER\Control Panel\International - 双击
LocaleName,设为zh-CN - 双击
Locale,设为00000804 - 关掉注册表编辑器,无需重启,锁屏再唤醒即可验证
真正容易被忽略的是:这个乱码和你的 uni-app 项目编译、H5 页面、App 打包全无关系。只要控制面板本身乱码,哪怕你把 uni-app 代码全删了,它照样显示方块。先修系统,再调代码——顺序错了,所有调试都是白费。


















