Subject Re: [Firebird-Java] Re: Character Set question (practical & philosophical)
Author Adriano dos Santos Fernandes
Let me see if I understand the problem:

Strings in Java use Unicode.

If one column use WIN1252 and client connect with WIN1252, the server send the value without conversion and Jaybird convert to Unicode.

If one column use DOS850 and client connect with WIN1252, the server convert from DOS850 to WIN1252 and JayBird convert from WIN1252 to Unicode;

John want to connect using the default character set of the database, assuming that all columns is using this charset. Then always only JayBird do the conversion.

Is this correct? Why not connect using NONE charset?


Adriano


Roman Rokytskyy wrote:
> Hi John,
>
> Now I think I understand you request. Let me summarize it:
>
> a) client connects to the server with USE_SERVER_CHARSET encoding;
>
> b) server in this case converts bytes from the character set specified for
> column into default database character set, then it sends bytes assuming
> that client knows what to do with it and assumes that bytes returned from
> the client are in default database encoding;
>
> c) JDBC driver on attach reads the rdb$character_set_name from the
> rdb$database and uses that value to determine encoding that will be used on
> the client.
>
> Correct?
>
> If you agree to the stated above, I will forward our communication to
> Adriano, he's doing new INTL stuff for Firebird. If that makes sense to him
> and the implementation does not break the INTL concept in some way, I think
> it will be added.
>
> For now you still have an option to use UNICODE_FSS.
>
> Roman
>