[fpc-devel] TField.AsString and Databases with UTF-8 charset

Graeme Geldenhuys graemeg at opensoft.homeip.net
Tue Jul 21 19:31:38 CEST 2009

Michael Van Canneyt wrote:
> I never use Char fields,

I can live with that...

> and I also don't use charsets in Firebird...

..but not with this! Here are just a few issues with using NONE as the default charset in a Firebird database.

 * Firebird does NOT default to your system locale. It ignores
   anything on you OS, so all databases on any OS in any locale
   are treated the same.

 * Firebird can't correctly uppercase, lowercase or no accent
   non-ASCII characters

 * Firebird sorting of non-ASCII characters very wrong for 
   most occasions

 * Nothing in the database itself documents how the bytes 
   stored should be interpreted as characters

 * When the same database is simultaneously or in succession 
   used by systems with different system default character 
   sets, the data will silently change meaning.

Our system will use accented characters and sorting will be important. We will also be accessing data from various locations (differing locales).

I'm Google'ing now for "firebird charset utf8" and reading the various articles. But I'll still be testing FBLib and IBX to see what they do and if they handle it the same as SqlDB.

 - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the fpc-devel mailing list