Subject Re: [Firebird-Architect] UTF-8 over UTF-16
Author Sandor Horvath
>> I don't particularly see
>> this as burdensome, particularly when the server and client kits are one
>> and the same. What is your concern?

> A _huge_ amount of our users don't want any client installation. They put
> fbclient.dll into their application's /bin directory and everything works.
> No need for any setup, no need to worry about DLL hell, no external
> dependencies. This is what people love in Firebird. My strong opinion is
> that everything else (beside the library code itself) on the client side
> should be (1) located using the path rules (not registry) hence making any
> explicit installation not necessary and (2) optional (e.g. system MBCS
> routines are used by default, like my namesake Sibiryakov suggests).

That's very true!

But there are other ways to do it.

For example: fbclient.dll can make charset conversion (to and from
UTF8) driven by definition files, like TCL does. The application defines
the client charset and if it isn't ASCII, UTF8 or any Unicode
encoding, then fbclient tries to load a definition file for the given
charset (for example win1250.enc for WIN1250) or report an error.

Advantage is flexibility. There's no need for installation, simply
copy the definition file with your client dll/so. We can easily add
more charset definitions without recompilation. Applications usually
depend on specific charset so just the necessary definition have to be
deployed with them.

Disadvantage is that we have to include the definition files with the
setup (or copy).