【问题标题】:Delphi: Unicode->AnsiString, language for non-unicode programsDelphi:Unicode->AnsiString,非Unicode程序的语言
【发布时间】:2011-09-13 10:52:12
【问题描述】:

我有 Delphi 2010。

XXX 组件使用 File_Path:AnsiString。路径可以用 XXX 语言编写。如果我在 Windows 设置中设置为非 unicode 程序使用 XXX 语言,则 XXX-component 识别路径,但如果我设置默认 Windows 设置(英语 Windows-English for non-unicode 程序)XXX-component 无法识别路径。

如何解决?

谢谢!!!

【问题讨论】:

  • 区别在于代码页。 Delphi 使用系统的默认代码页(这就是为什么将语言设置为 XXX 时它可以工作的原因),但可以更改。你能控制组件的代码吗?
  • 不,我无法控制。我都改成String了,还是不行。
  • 切换到字符串是您的解决方案。您需要更加坚持使用远离 ANSI 的端口。什么是 XXX 组件?

标签: delphi unicode non-unicode ansistring


【解决方案1】:

要解决这个问题,您需要远离 ANSI 字符串,开始使用 Unicode 字符串和相应的 Unicode 版本的 Windows API。目前你依赖于计算机语言环境,这是一个巨大的痛苦世界。

从AnsiString 移动到string 需要一点努力,但好处是值得付出努力。

拥抱 Unicode,忘记过去的糟糕日子!

【讨论】:

  • 没那么糟。有时甚至不值得增加 2 倍的内存。
  • @user 当您不得不处理非英语语言时,这真是太糟糕了。实际上,情况更糟!
  • 那是不真实的。只要我不想在单个数据实体中混合字符集,一切都非常顺利。来自老外的正经话(来自主要字符集数量高达五个的地方:-)。
猜你喜欢
  • 1970-01-01
  • 2011-08-26
  • 2011-10-03
  • 1970-01-01
  • 2017-03-05
  • 2016-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多