Subject | Re: [firebird-support] Bug with character sets |
---|---|
Author | Kjell Rilbe |
Post date | 2009-05-19T07:14:31Z |
Thomas Steinmaurer wrote:
struct from fbclient that specifies max data length, which FR used to
pad char fields. This was incorrect, because it's a mbcs. There's
another field in the struct that indicates the char length.
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64
> >> I'm using FirebirdCS 2.1.2 on SuSE 11.1 Linux and I create a databaseIf my memory serves me right re. what the problem was in FR, it is some
> >> specifying the default character set to be UTF8. I then connect to
> >> the database and specify that I'll be using UTF8 for the connection.
> >> If I then select on any "char" type column, I get back a string that
> >> is 4 times the length it should be and blank padded.
> >>
> >> So for instance if I have a char(1) column and store 'Y' or 'N' in it
> >> and select on it, I get back 'Y ' or 'N '. The problem doesn't
> >> happen with varchar columns and if I change the character set used for
> >> the connection to ISO8859_1, then the problem goes away.
> >>
> >> I expect that if the database is UTF8 and I'm talking UTF8 to the
> >> server and I store 'Y' in a char(1) column, when I select from it I
> >> should get 'Y' back again!
> >>
> >> PS: this is all using the C fbclient library and I'm setting the
> >> connection character set using isc_dpb_lc_ctype in my connection
> >> parameters.
> >
> > I've seen this when using IBObjects, can someone else confirm this too?
>
> Both, DBW and isql give the following result:
>
> ax
>
> when doing the following query:
>
> select c || 'x' from t2
>
> where c is a CHAR(1) in a UTF8 database. Firebird 2.1.2.
>
> HTH.
struct from fbclient that specifies max data length, which FR used to
pad char fields. This was incorrect, because it's a mbcs. There's
another field in the struct that indicates the char length.
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64