Re: [GENERAL] psql weird behaviour with charset encodings - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [GENERAL] psql weird behaviour with charset encodings
Date
Msg-id 18815.1273368285@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] psql weird behaviour with charset encodings  (hgonzalez@gmail.com)
Responses Re: [GENERAL] psql weird behaviour with charset encodings
List pgsql-hackers
hgonzalez@gmail.com writes:
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=649

> The last explains why they do not consider it a bug:

> ISO C99 requires for %.*s to only write complete characters that fit below  
> the
> precision number of bytes. If you are using say UTF-8 locale, but ISO-8859-1
> characters as shown in the input file you provided, some of the strings are
> not valid UTF-8 strings, therefore sprintf fails with -1 because of the
> encoding error. That's not a bug in glibc.

Yeah, that was about the position I thought they'd take.

So the bottom line here is that we're best off to avoid %.*s because
it may fail if the string contains data that isn't validly encoded
according to libc's idea of the prevailing encoding.  I think that
means the patch I committed earlier is still a good idea, but the
comments need a bit of adjustment.  Will fix.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: max_standby_delay considered harmful
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] psql weird behaviour with charset encodings