Re: plperlu problem with utf8

David Wheeler <david@kineticode.com>

From: "David E. Wheeler" <david@kineticode.com>
To: Pgsql Hackers <pgsql-hackers@postgresql.org>
Cc: Alex Hunsaker <badalex@gmail.com>, Oleg Bartunov <oleg@sai.msu.su>, Andrew Dunstan <andrew@dunslane.net>
Date: 2010-12-18T01:22:16Z
Lists: pgsql-hackers
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.

Best,

David