Re: invalid UTF-8 via pl/perl

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: "David E. Wheeler" <david@kineticode.com>
Cc: Hannu Krosing <hannu@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2010-01-03T20:14:05Z
Lists: pgsql-hackers

David E. Wheeler wrote:
>> Second, It produces errors like this:
>>
>>   andrew=# select 'a' || invalid_utf_seq() || 'b';
>>   ERROR:  invalid byte sequence for encoding "UTF8": 0xd0
>>   HINT:  This error can also happen if the byte sequence does not
>>   match the encoding expected by the server, which is controlled by
>>   "client_encoding".
>>   CONTEXT:  PL/Perl function "invalid_utf_seq"
>>   andrew=#
>>
>>
>> That hint seems rather misleading. I'm not sure what we can do about it though. If we set the noError param on pg_verifymbstr() we would miss the error message that actually identified the bad data, so that doesn't seem like a good plan.
>>     
>
> I'm sure I'm just revealing my ignorance here, but how is the hint misleading?
>
>
>   

The string that causes the trouble does not come from the client and has 
nothing to do with client_encoding.

cheers

andrew