基于 Delphi 6 的程序在某些系统上显示扭曲的文本(乱码)

基于 Delphi 6 的程序在某些系统上显示扭曲的文本(乱码)

我们公司使用的软件是用Delphi 6开发的。

主要语言是希伯来语(这个问题几年前就开始出现了)——在某些系统中,我们得到的是乱码而不是希伯来语文本。

该问题出现在某些系统上,例如 Windows 7 Enterprise 或使用 ghost 或 VM 等映像文件安装的系统。

我们尝试使用希伯来语的 MUI 安装并更改本地设置,但没有成功,因为它仅出现在某些系统上。

是操作系统的问题吗?

在此处输入图片描述

答案1

Delphi 6 未启用 UNICODE。我相信 UNICODE 是在 Delphi 2009 或 XE2 左右引入的,忘记是哪个了。我用 Delphi 7 编写了一个应用程序,我们需要做的是在代码本身中设置 Windows 区域设置(我假设您已经这样做了),然后在 Windows 本身中设置“非 Unicode 程序的语言”设置。

设置如下:

* Control Panel
* Clock, Language, and Region
* Region
* Administrative
* Language for non-Unicode programs
* Select Hebrew
* Reboot PC

这可能会帮你解决问题。请注意,对于非 UNICODE 程序来说,在两种非拉丁/UNICODE 语言之间切换是不可能的。如果你只需要希伯来语,那就没问题了。但如果你需要在希伯来语和俄语之间动态切换,那么你可能不得不寻找另一种技术或升级到支持 UNICODE 的 Delphi 版本。祝你好运!

相关内容