我们有一个小型 exe 客户端应用程序,用于从远程源加载扫描的图像,我们需要做的是将图像的地址输入到特定的文本框中并提交。然后数据将保存在远程数据库中,并由其他应用程序读取。
当我们在 Windows 上运行客户端应用程序时,一切正常。问题仅在我们通过 Wine 在 Ubuntu 上运行应用程序时才会发生:无论我们输入的地址是否包含德语字符,其他应用程序都会从数据库中读取错误的字符,例如:
我们进入的地方:Lößnitzstr
其他应用程序看到的内容:Lößnitzstr
输入:
输出:
我们发现这是由于使用 UTF-8 编码并使用 Windows-1252 代码页解码时字符集不匹配造成的。
由于 Ubuntu 的默认字符集是 UTF-8,我们尝试使用命令行强制 WINE 使用 Windows 字符集设置运行:
LANG=de_DE.CP1252 wine client.exe
我们还尝试通过 localectl 将操作系统默认语言环境设置为字符集为 Windows-1252 (CP1252) 的语言,但似乎不起作用
区域设置:
Wine 版本 7.0
Ubuntu 版本 20.04
知道如何修复此问题吗?非常感谢您的帮助。