2008-10-29 161 views
6

有沒有人開始製作Unicode應用程序或將現有應用程序轉換爲Unicode?德爾福2009年和火鳥2.1 =完整的Unicode?

你如何調整火鳥有最少的問題,特別是CHARSET屬性?

是否遇到任何問題?我應該注意的其他任何事情?

我只是在準備自己,以便在跳到Unicode火車之前獲得更少的驚喜。

+0

類似的問題和一些經驗:http://stackoverflow.com/questions/2302670/delphi-dbexpress-and-interbase-utf8-migration-steps-and-risks – mjn 2010-07-02 10:55:21

回答

1

據我所知,德爾福2009年唯一啓用了unicode的部分是控制檯函數,如readln和writeln。其餘的應該是完全unicode。

2

它是應用程序的「邊緣」,您將看到問題(文件讀取/寫入,DLL,存儲等)。

ini文件:我從TIniFile(僅限ansi)遷移到TMemIniFile(不要忘記調用UpdateFile)。

至於你的問題的火鳥部分,我沒有任何經驗。

4

使用UTF8作爲您的Firebird數據庫的字符集。無論如何,這是支持所有可能字符的唯一選擇,因爲UNICODE_FSS已成爲過去。

但是,這與您使用Delphi創建Unicode程序的問題是正交的。即使對於使用UTF8字符集的新的Ansi Delphi程序也是最好的選擇,因爲您可以將Ansi程序(例如,使用GNU gettext for Delphi http://dybdahl.dk/dxgettext/)轉換爲其他語言,並且只有使用UTF8數據庫才能存儲所有可能的文本被髮送到數據庫,這取決於Windows代碼頁。另一種方法是對不同的部署使用不同的數據庫字符集,然後不再簡單地在安裝之間交換數據庫文件或遷移數據,而無需先對其進行重新編碼。

對於您的開發工作,請確保您的數據庫管理程序完美地與UTF8數據庫一起工作。由於其中大部分都是用Delphi寫的,所以你可能會遇到問題,除非它使用支持Unicode的控件。