Subject Re: [Firebird-Architect] Re: The Wolf on Firebird 3
Author Jim Starkey
Dmitry Yemanov wrote:

>Hmm. If we now have:
>
>F CHAR(10) CHARACTER SET WIN1251 COLLATE WIN1251
>
>Would that mean that data is stored in UTF-8 but the index keys are encoded
>using WIN1251? Should be the following allowed too:
>
>
The index would be an encoding of the collation, not the character set.
A collation is defined as an ordering of glyphs, which is quite
independent of bitwise representation of the glyphs. The size of
collation encoding should be independent of the character set. How
characters outside the defined collation is also part of the collation
definition.

I think we would ignore all character set declarations, though in the
absense of an explicit collation we would probably want to use it for a
default collation.

An exception would be character set "none", which would indicate that
the field was raw octets and subject to no character set handling at
all. For all practical purposes, a field of character set none is a
different datatype with no mapping / assignment / comparison to
character set data.