Delphi 2006使用单个ansi代码页从/到法语/荷兰语/德语翻译

时间:2011-11-30 09:50:45

标签: delphi utf-8 delphi-2006 codepages

我需要使用Delphi 2006(没有任何第三方单元/组件)从法语/荷兰语/德语进行一些翻译。

这3种语言的代码页为1252。我们的数据库符合UTF-8标准,所以此时我依赖于表中所有值都是UTF-8的事实。我应该对此假设有信心吗?这将很好,或者我应该担心UTF-8 - >代码页1252的差异,如果有的话?我不明白UTF-8和代码页之间的区别(例如,我理解前127个字节是相同的,并且与第128个字节的请求是不同的)。

其次,我需要在某些领域进行搜索。我可以依赖D2006的ANSIUpperCase功能吗?或者我应该做一个自定义功能,来对待每个特殊角色?

LE:数据以UTF-8格式存储。

提前致谢!

1 个答案:

答案 0 :(得分:5)

  1. 符合UTF8标准的数据库并不意味着数据实际存储在UTF8中。例如。在Firebird(符合UTF8)中,您可以使用ANSI字符集声明表。
  2. 您需要将UTF8转换为ANSI 1252,反之亦然。例如。使用UTF8EncodeUTF8Decode例程。