我正在谈论的应用程序是 Worms Armageddon (WA)。我在酒下运行它。
考虑以下顺序:
- 将 Ubuntu GUI 语言切换为俄语(并重新启动会话)
- 将 Ubuntu 键盘布局切换为俄语
- 在 wine 下运行 WA
- 在 WA 聊天中输入西里尔文
- 当我这样做时,我对编码没有任何问题。但是,如果我将 Ubuntu GUI 语言切换回英语(并重新启动会话),那么在聊天中输入西里尔字符(使用俄语键盘布局)时,我会得到问号(????, ? ?????!..)在聊天而不是西里尔字母)。
我猜它与 Windows 代码页有关。在俄语中,默认代码页是 cp1251,而在英语中可能是其他一些欧洲代码页。
所以我的问题是:如何在不将 GUI 语言切换为俄语的情况下在 WA 聊天中输入和阅读西里尔字母?
PS初始桌面图标为:
[Desktop Entry]
Name=Worms Armageddon
Exec=env WINEPREFIX="/home/uname/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/uname/.wine/dosdevices/c:/users/Public/Desktop/Worms\\ Armageddon.lnk
Type=Application
StartupNotify=true
Path=/home/uname/.wine/dosdevices/c:/GOG Games/Worms Armageddon/
Icon=4948_goggame-1462173886.0
StartupWMClass=wa.exe
并且Worms Armageddon.lnk
是一个 Windows .lnk 文件,指
C:\GOG Games\Worms Armageddon\WA.exe
一、命令行:
在命令行开头设置的环境变量仅影响该命令行。您可以将其设置在单独的行中
export LANG=...
,但这会影响导出后该 shell 中的所有命令。其次,一个 .desktop 快捷方式:
将上面的 worms.desktop 文件放在
~/.local/share/applications/
Note 中,您使用了默认的 wine 前缀,不需要在命令行中指定它
可能你想要它在脚本中,这里是:
导出变量仅在该脚本内有效
参考