On Jun 26, 2013, at 16:58, Alban Hertroys <haramrae@gmail.com> wrote:
> On 26 June 2013 11:03, Jiří Pavlovský <jira33@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
intentionallyput 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
parseerror:
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.