6
votes

Has anyone started making Unicode Apps or converting Existing Apps into Unicode?

How are you tweaking Firebird to have the least problems, especially the CHARSET attribute?

Is there any problem encountered? Any thing else that I should be aware of?

I'm just preparing myself so that I get less surprises, before jumping onto the Unicode train.

3
Similar question and some experiences: stackoverflow.com/questions/2302670/…mjn

3 Answers

4
votes

Use UTF8 as the character set for your Firebird database. That's the only option anyway that supports all possible characters, as UNICODE_FSS is a thing of the past.

This is however orthogonal to your question about creating Unicode programs with Delphi. Even for a new Ansi Delphi program using UTF8 charset would be your best option, as you can translate Ansi programs (for example using GNU gettext for Delphi http://dybdahl.dk/dxgettext/) to other languages, and only with a UTF8 database you can store all the text that may be sent to the database, depending on the Windows codepage. The alternative would be to use different database character sets for different deployments, and then you can no longer simply exchange database files or migrate data between installations without first recoding it.

For your development work make also sure that your database administration program works flawlessly with UTF8 databases. Since most of them are written in Delphi you may have problems, unless it uses Unicode-capable controls.

2
votes

it's the "edges" of the app where you'll see the issues (file reading/writing, DLLs, storage, etc).

ini files: i migrated from TIniFile (ansi only) to TMemIniFile (don't forget to call UpdateFile).

as for the Firebird part of your question, i don't have any experience with that.

1
votes

As far as I know the only part of Delphi 2009 that is not unicode enabled are the console functions like readln and writeln. The rest should be fully unicode.