Delphi 7 个西里尔字符未正确显示
Delphi 7 cyrillic characters not showing correctly
我最近要求(并付费)翻译我的 Delphi 应用程序以支持马其顿语(西里尔字体)支持。
我将要翻译的文本发布给我的签约翻译,她将翻译后的字符串发回给我。文本是从我所有的 .dfm 和 .pas 文件中提取的
当我用西里尔文翻译替换原始文本时,我可以在我最喜欢的 Notepad++(或记事本)中打开 .dfm fies 和 .pas 文件,并且我能正确看到翻译后的字符。
当我在 Delphi 中打开这些文件(作为 dpr 文件)时,我看到类似这样的内容:
请有人告诉我如何正确 convert/display Delphi 中的这些字符串。
我正在使用马其顿区域设置,但它并没有帮助我解决这个问题。
PS:是的,我仍在使用 Delphi 7,因为我喜欢它/购买了这个版本。
更新
Delphi中的原文:
原作: ПОДГОТÐ'С =]
正确的文字:
ПОДИОТВИ КУТИИ ЗА ДРУИИТЕ ЦЕНТРАЛИ
我注意到,当我将 ParentFont 属性 更改为 false 并将字体设置为 Verdana 和 Cyrillic (RUSSIAN_CHARSET) 时,然后我 copy/paste 西里尔文字,它正常显示在 Delphi
好的,所以我 解决了!
一步一步解决,需要Notepad++:
第一步:将 .dfm 中的所有字体替换为(例如)Verdana 或一些允许西里尔文支持的字体
第二步:将所有ParentFont = False
替换为ParentFont = True
第 3 步: 在记事本++中选择:编码 -> 转换为 ANSI
就是这样,对所有 .dfm 和 .pas 文件执行此操作(仅第 3 步)
我很高兴没有听过 David Heffernan 的意见并且没有放弃!
您的文本文件是 UTF-8 编码的,而 Delphi7 需要 WinAnsi 编码,西里尔字符的代码页为 1251。
如果您愿意,您可以在 System.pas 中使用 UTF8Decode()
函数以编程方式进行转换。
我最近要求(并付费)翻译我的 Delphi 应用程序以支持马其顿语(西里尔字体)支持。 我将要翻译的文本发布给我的签约翻译,她将翻译后的字符串发回给我。文本是从我所有的 .dfm 和 .pas 文件中提取的
当我用西里尔文翻译替换原始文本时,我可以在我最喜欢的 Notepad++(或记事本)中打开 .dfm fies 和 .pas 文件,并且我能正确看到翻译后的字符。
当我在 Delphi 中打开这些文件(作为 dpr 文件)时,我看到类似这样的内容:
请有人告诉我如何正确 convert/display Delphi 中的这些字符串。 我正在使用马其顿区域设置,但它并没有帮助我解决这个问题。
PS:是的,我仍在使用 Delphi 7,因为我喜欢它/购买了这个版本。
更新
Delphi中的原文: 原作: ПОДГОТÐ'С =]
正确的文字: ПОДИОТВИ КУТИИ ЗА ДРУИИТЕ ЦЕНТРАЛИ
我注意到,当我将 ParentFont 属性 更改为 false 并将字体设置为 Verdana 和 Cyrillic (RUSSIAN_CHARSET) 时,然后我 copy/paste 西里尔文字,它正常显示在 Delphi
好的,所以我 解决了!
一步一步解决,需要Notepad++:
第一步:将 .dfm 中的所有字体替换为(例如)Verdana 或一些允许西里尔文支持的字体
第二步:将所有ParentFont = False
替换为ParentFont = True
第 3 步: 在记事本++中选择:编码 -> 转换为 ANSI
就是这样,对所有 .dfm 和 .pas 文件执行此操作(仅第 3 步)
我很高兴没有听过 David Heffernan 的意见并且没有放弃!
您的文本文件是 UTF-8 编码的,而 Delphi7 需要 WinAnsi 编码,西里尔字符的代码页为 1251。
如果您愿意,您可以在 System.pas 中使用 UTF8Decode()
函数以编程方式进行转换。