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