Subject | Re: [firebird-support] Three trailing spaces? |
---|---|
Author | Mark Rotteveel |
Post date | 2014-12-13T09:14:55Z |
On 12-12-2014 15:38, Tim Ward tdw@... [firebird-support] wrote:
explicitly!) then it looks like the driver is misbehaving.
The 'problem' is that a CHAR(1) in UTF8 is sent as 4 bytes. If the
character in question is a one-byte UTF8 character, then the remaining
three bytes are 0x20 (a space). A driver should truncate the string to
the declared number of characters, but doesn't do that here.
A potential workaround might be to use VARCHAR(1) instead.
Mark
--
Mark Rotteveel
> On 12/12/2014 14:15, Mark Rotteveel mark@...If the connection character set is UTF8 (this needs to be specified
> [firebird-support] wrote:
>>
>> What is the default character set of your database (if I had to guess it
>> is UTF8), and what is your connection character set (if I had to guess
>> it's
>> NONE or not specified)?
>>
> Database charset is UTF8. Connection charset appears also to be UTF8.
explicitly!) then it looks like the driver is misbehaving.
The 'problem' is that a CHAR(1) in UTF8 is sent as 4 bytes. If the
character in question is a one-byte UTF8 character, then the remaining
three bytes are 0x20 (a space). A driver should truncate the string to
the declared number of characters, but doesn't do that here.
A potential workaround might be to use VARCHAR(1) instead.
Mark
--
Mark Rotteveel