我在Delphi 7中获得了一些我在IDE中打开的表单。某些重音字符在表单中无法正确显示,当我更改包含此类字符的表单时,重音会丢失。
E.g。在dfm中编码为#337 a的东西在保存的dfm中成为你的
你能说出可能出现的问题吗?
更新: 在控制面板,区域和语言,选项卡格式中更改后修复的问题。 我将格式从英语改为具有重音字符的语言。
答案 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属性值。