Another Dayu

macOS 使用 Crossover 游戏中文输入显示问号乱码问题

背景

在 macOS 上用 CrossOver 玩一些 Steam 游戏,比如激战2(Guild Wars 2 ),界面能够正常显示中文,但输入聊天框里输入中文,只能显示问号。

网上相关教程都是装中文字体文件或改注册表,但这些解决的是字形问题,容器缺少中文字体。

中文显示为问号的真正原因是:容器(Bottle)的系统区域设置不是中文,而默认是西欧编码(1252),中文字符编不进去,转换失败的字符就统一被替换成了问号。

解决方法

CrossOver 的每个容器都有一个独立的配置文件 cxbottle.conf,可以单独指定该容器的语言区域,不会影响其他容器。

步骤:

打开 CrossOver,选中运行 GW2 的容器,在右侧栏里点击:Open C: Drive

在弹出的 Finder 窗口里往上退一层——cxbottle.conf 和 drive_c 文件夹是同级的,不在 drive_c 里面。

用纯文本编辑器打开 cxbottle.conf (推荐BBEdit)

找到 [EnvironmentVariables] 这一节(没有就新建),加入一行:

   [EnvironmentVariables]  
   "LANG" = "zh_CN.UTF-8"  

如果这一节已有其他变量,直接在下面追加即可,不要删掉原有内容。

保存文件。

完全退出该容器(右键容器选"退出",不是只关掉 Steam 窗口),再重新从 CrossOver 启动 Steam 进游戏。

改完之后再进聊天框打字,中文就能正常发送了。