Delphi 2009和Firebird 2.1 =完全Unicode?

时间:2008-10-29 17:58:32

标签: delphi unicode delphi-2009 firebird

是否有人开始制作Unicode应用程序或将现有应用程序转换为Unicode?

你如何调整Firebird以解决最少的问题,尤其是CHARSET属性?

遇到任何问题吗?还有其他我应该注意的事情吗?

我只是在准备自己,以便在跳到Unicode列车之前获得更少的惊喜。

3 个答案:

答案 0 :(得分:4)

使用UTF8作为Firebird数据库的字符集。这是支持所有可能角色的唯一选项,因为UNICODE_FSS已成为过去。

然而,这与您使用Delphi创建Unicode程序的问题正交。即使是使用UTF8 charset的新Ansi Delphi程序也是您的最佳选择,因为您可以将Ansi程序(例如使用GNU gettext for Delphi http://dybdahl.dk/dxgettext/)翻译成其他语言,并且只有UTF8数据库才能存储所有语言可能发送到数据库的文本,具体取决于Windows代码页。另一种方法是为不同的部署使用不同的数据库字符集,然后您就不能再简单地交换数据库文件或在安装之间迁移数据而无需先重新编码。

对于您的开发工作,请确保您的数据库管理程序与UTF8数据库完美配合。由于大多数都是用Delphi编写的,因此除非它使用支持Unicode的控件,否则可能会出现问题。

答案 1 :(得分:2)

它是应用程序的“边缘”,您将看到问题(文件读/写,DLL,存储等)。

ini文件:我从TIniFile(仅限ansi)迁移到TMemIniFile(不要忘记调用UpdateFile)。

至于问题的Firebird部分,我对此没有任何经验。

答案 2 :(得分:1)

据我所知,Delphi 2009中唯一没有启用unicode的部分是readln和writeln等控制台功能。其余的应该是完全unicode。