打开游戏,菜单上的字全变成「???」或者一堆方块。这不是游戏语言选错了,是 Windows 的非 Unicode 程序语言设置不对。
根本原因
老游戏(帝国时代2、魔兽3、红色警戒这类)用的是本地编码,不是 Unicode。当系统给非 Unicode 程序指定的语言不是「中文(简体,中国)」时,游戏读到的中文字符就全乱了。
修复步骤
- 打开控制面板(不是设置)→「时钟和区域」→「区域」
- 切到「管理」选项卡
- 点「更改系统区域设置」
- 当前系统区域设置选「中文(简体,中国)」
- 不要勾「Beta 版:使用 Unicode UTF-8 提供全球语言支持」
- 确定,重启电脑
重点:第 5 步那个 Beta 选项是 Win10 之后新增的,勾上会让很多老游戏和国产软件乱码。如果你之前为了别的软件勾了它,这里必须取消。
如果只是这一个游戏乱码
系统设置改完会影响全局,有些人不想动。那可以用区域模拟工具(Locale Emulator 这类)单独给这个游戏指定语言环境,右键 exe 用工具启动即可。
还有一种情况:字体缺失
系统区域设置是对的,但文字显示成方块。这通常是精简版系统删掉了中文字体。检查 C:WindowsFonts 里有没有「宋体」「微软雅黑」,没有就从正常系统复制一份 simsun.ttc 过来。
联机时的额外注意
帝国时代2 决定版联机要求双方版本号完全一致,版本不一致时会提示「版本不匹配」。Steam 会自动更新,但如果你关过自动更新,手动验证一次完整性。