On 28.6.2013 9:09, Alban Hertroys wrote: > On Jun 26, 2013, at 16:58, Alban Hertroys <haram...@gmail.com> wrote: > >> On 26 June 2013 11:03, Jiří Pavlovský <jir...@gmail.com> wrote: >> On 26.6.2013 10:58, Albe Laurenz wrote: >>> Jirí Pavlovský wrote: >>>> I have a win32 application. >>>> LOG: statement: INSERT INTO recipients (DealID, >>>> Contactid) VALUES (29009, 9387) >>>> ERROR: invalid byte sequence for encoding "UTF8": 0x9c >>>> >>>> >>>> But the query is clean ascii and it doesn't even contain the mentioned >>>> character. >>>> >>>> My database is in UNICODE, client encoding is utf8. >>> Could you run the log message through "od -c" on a UNIX >>> machine and post the result? Maybe there are some weird >>> invisible bytes in there. >>> >>> >> Hi, >> >> I've already tried that before posting. See below for results. Is the >> message in the log the same as the message that postgres receives? >> >> >> 0000000 I N S E R T I N T O r e c i >> 0000020 p i e n t s ( D e a l I D , >> 0000040 C o n t a c t i d ) >> 0000060 >> 0000100 V A L U E S >> >> >> What bytes are in the above between the closing brace and VALUES? Is that >> really white-space? Did you perhaps intentionally put white-space in between >> there? > I just tested my theory that there may be garbage characters in your query > string tripping the encoding error before a parse error: > > postgres=> \i /usr/bin/at > psql:/usr/bin/at:15: ERROR: invalid byte sequence for encoding "UTF8": 0x80 > > (/usr/bin/at is a UNIX command executable, for this case it works as binary > data) > > Alban Hertroys > -- > If you can't see the forest for the trees, > cut the trees and you'll find there is no forest. >
Hi, I've already found the problem - as could have been expected it was due to a bug in my code. And the offending query was not the one above. It was the next one, which did not get logged. So, actually, you are right. Thanks, -- Jiří Pavlovský