Posted: 29.09.2011, 15:49
No, I say have a database that is Unicode (UTF8) and an application that is Delphi 7 + Zeos 6, which is ANSI, which uses codepages. Add the CODEPAGE=xxx parameter to your connection object - depending on the locale settings of windows. You could the codepage from an ini file or try to determine it programmatically -> GetACP() is your friend, I think.
Once Zeos 7 is available, you probably can change easily to Delphi XE and have a full unicode solution then, without having to worry about your database.
I think this is the safest way.
If you are really determined about a full unicode solution there might be two other ways.
First: Others have had a problem similar to yours. Check http://zeos.firmos.at/viewtopic.php?t=3297. The solution seems to be generic and might help you getting this to work with firebird too.
Second: If this doesn't work, then you might want to take a look at Lazarus + Zeos 6. Set CODEPAGE=UTF8 there and you should be fine. But have a look at the specifics about character sets in this environment at http://wiki.lazarus.freepascal.org/LCL_Unicode_Support.
I hope that helps,
Jan
Once Zeos 7 is available, you probably can change easily to Delphi XE and have a full unicode solution then, without having to worry about your database.
I think this is the safest way.
If you are really determined about a full unicode solution there might be two other ways.
First: Others have had a problem similar to yours. Check http://zeos.firmos.at/viewtopic.php?t=3297. The solution seems to be generic and might help you getting this to work with firebird too.
Second: If this doesn't work, then you might want to take a look at Lazarus + Zeos 6. Set CODEPAGE=UTF8 there and you should be fine. But have a look at the specifics about character sets in this environment at http://wiki.lazarus.freepascal.org/LCL_Unicode_Support.
I hope that helps,
Jan