-1

我的插件从 INI 文件(ANSI 为 UTF-8 编码)中读取控制标题文本,以显示多种语言。关键是它是一个插件,我无法控制也无法更改此 INI 文件格式或文件类型。

它们目前正在被读入我的插件TINIFile.ReadString并存储为string. 我可以根据需要修改它(数据类型、读取方法等)。

主应用程序从其自己的应用程序语言文件中读取,这些文件是 UCS-2 Little Endian 编码为 TXT 文件。更改语言时,即使 Windows 操作系统保持为英语,这些也能正常显示(换句话说,应用程序无需更改操作系统区域设置即可切换显示语言)。

我的插件表单无法显示亚洲字符(中文、日文、韩文等)。英语很好。

尝试显示汉字时插件形式的特写

我尝试了各种字体,使用 , 等的各种组合。AnsiStringString缺少什么能够在表单上显示亚洲字符?我还没有找到与我正在尝试做什么类似的问题,即我的语言文本是如何被读入插件的。

4

1 回答 1

0

如果 .INI 文件阅读器不解释值的内容,并允许所有值透明地通过,那么您需要将字符串映射为具有正确语言环境的字符串。

Delphi 2010有一个类似的问题:如何将 UTF8 编码的 PAnsiChar 转换为 UnicodeString?这解释了如何进行转换。您可能需要将内容提取到RawByteString以避免隐式转换。

于 2014-03-23T12:25:31.537 回答