在 Windows 和 Wine(Ubuntu)上执行应用程序时字符集不匹配

在 Windows 和 Wine(Ubuntu)上执行应用程序时字符集不匹配

我们有一个小型 exe 客户端应用程序,用于从远程源加载扫描的图像,我们需要做的是将图像的地址输入到特定的文本框中并提交。然后数据将保存在远程数据库中,并由其他应用程序读取。

当我们在 Windows 上运行客户端应用程序时,一切正常。问题仅在我们通过 Wine 在 Ubuntu 上运行应用程序时才会发生:无论我们输入的地址是否包含德语字符,其他应用程序都会从​​数据库中读取错误的字符,例如:

我们进入的地方:Lößnitzstr

其他应用程序看到的内容:Lößnitzstr

输入:

屏幕截图 1

输出:

屏幕截图 2

我们发现这是由于使用 UTF-8 编码并使用 Windows-1252 代码页解码时字符集不匹配造成的。

由于 Ubuntu 的默认字符集是 UTF-8,我们尝试使用命令行强制 WINE 使用 Windows 字符集设置运行:

LANG=de_DE.CP1252 wine client.exe

我们还尝试通过 localectl 将操作系统默认语言环境设置为字符集为 Windows-1252 (CP1252) 的语言,但似乎不起作用

区域设置:

屏幕截图 3

Wine 版本 7.0

Ubuntu 版本 20.04

知道如何修复此问题吗?非常感谢您的帮助。

相关内容