保存delphi表单后,它会丢失重音字符

时间:2010-10-13 14:59:51

标签: delphi delphi-7

我在Delphi 7中获得了一些我在IDE中打开的表单。某些重音字符在表单中无法正确显示,当我更改包含此类字符的表单时,重音会丢失。

E.g。在dfm中编码为#337 a的东西在保存的dfm中成为你的

你能说出可能出现的问题吗?

更新: 在控制面板,区域和语言,选项卡格式中更改后修复的问题。 我将格式从英语改为具有重音字符的语言。

3 个答案:

答案 0 :(得分:2)

Delphi 7不支持Unicode,只支持ASCII。这就是为什么不显示“额外”字符的原因。

控件能够显示unicode(因为Windows可以)。但是dfm文件仍然是ASCII,你不能保证127以上的字符。(并且VCL也不支持它们。)

您可以切换到2010或2011(XE)以获得Unicode支持。

答案 1 :(得分:2)

在非unicode delphi版本(例如delphi 7)中,如果您当前的代码页支持一个字符,那么Delphi会将您的重音字符存储到DFM中。如果您在设置为不同代码页的系统上重新加载,则不会看到该字符。

在unicode Delphi(2009或更高版本)中,您将能够将所需的任何代码点存储到DFM中。

答案 2 :(得分:-3)

AFAIR,所有dfm内容都编码为UTF-8,由Delphi 7生成的dfm文件。

所以你可以使用你需要的任何角色。

但是您需要为组件设置正确的Font CharSet属性值。