Re: plperlu problem with utf8

Alex Hunsaker <badalex@gmail.com>

From: Alex Hunsaker <badalex@gmail.com>
To: "David E. Wheeler" <david@kineticode.com>
Cc: Pgsql Hackers <pgsql-hackers@postgresql.org>, Oleg Bartunov <oleg@sai.msu.su>, Andrew Dunstan <andrew@dunslane.net>
Date: 2010-12-18T06:46:54Z
Lists: pgsql-hackers
On Fri, Dec 17, 2010 at 18:22, David E. Wheeler <david@kineticode.com> wrote:
> On Dec 17, 2010, at 5:04 PM, David E. Wheeler wrote:
>
>>> see? Either uri_unescape() should be decoding that utf8() or you need
>>> to do it *after* you call uri_unescape().  Hence the maybe it could be
>>> considered a bug in uri_unescape().
>>
>> Agreed.
>
> On second thought, no. You can in fact encode anything in a URI. URI::Escape can't know what to decode to. So *I believe* it just unescapes the raw bytes. It might be handy for it to have a new function, though, to complement its uri_escape_utf() function:
>
>    sub uri_unescape_utf8 { Encode::decode_utf8(uri_unescape(@_)) }
>
> Just to make things a bit clearer.
>
> But that's a separate issue from the, erm, inconsistency with which PL/Perl treats encoding and decoding of its inputs and outputs.

Yay! So I think we can finally agree that for Oleg's original test
case postgres was getting right.  I hope ? :)