首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Delphi 7西里尔字母不能正确显示

Delphi 7西里尔字母不能正确显示
EN

Stack Overflow用户
提问于 2019-06-14 00:57:47
回答 2查看 1.2K关注 0票数 1

我最近要求(并支付)我的Delphi应用程序的翻译,以支持马其顿语(西里尔文字体)。我把要翻译的文字贴给我的签约翻译,她给我发回翻译后的字符串。文本是从我所有的.dfm和.pas文件中提取出来的

当我用西里尔文翻译替换原始文本时,我可以在我最喜欢的Notepad++ (或记事本)中打开.dfm fies和.pas文件,并且我可以正确地看到翻译后的字符。

当我在Delphi中打开这些文件(作为dpr文件)时,我看到如下所示:

请告诉我如何在Delphi中正确转换/显示这些字符串。我使用的是马其顿的区域设置,但这对我解决这个问题没有帮助。

PS:是的,我仍然在使用Delphi 7,因为我喜欢它/购买了这个版本。

更新

ЦзÐТРÐÐ>И原文: original:-Ÿ-ž-“-”-ž-,-‘-˜-š-·,-˜-˜-“-·”-˜-·Delphi

正确的文本:ПОДГОТВИКУТИИЗАДРУГИТЕЦЕНТРАЛИ

我注意到,当我将ParentFont属性更改为false并将字体设置为Verdana和Cyrillic (RUSSIAN_CHARSET)时,然后复制/粘贴cyrillic文本,它在Delphi中正常显示

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-14 02:48:33

好了,我用解决了这个问题!

解决方案是多步式的,需要使用Notepad++:

第一步:将.dfm中的所有字体替换为(例如)宋体或支持西里尔文的字体

第二步:将所有ParentFont = False替换为ParentFont = True

第三步: In notepad++ Choose: Encoding -> Convert to ANSI

这就是全部,对所有的.dfm和.pas文件做这件事(只有第三步)

我很高兴没有听大卫·赫弗南的话,也没有放弃!

票数 1
EN

Stack Overflow用户

发布于 2019-06-14 16:16:05

您的文本文件是UTF8编码的,而Delphi7需要WinAnsi编码,代码页1251表示西里尔字符。

如果愿意,您可以在System.pas中使用UTF8Decode()函数以编程方式进行转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56585348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档