On 07/15/2015 07:14 AM, Ronald Peterson wrote:
The following short function illustrates a problem I'm having with the
plperlu module.
CREATE OR REPLACE FUNCTION
doublezero ()
RETURNS VOID
AS $$
use Encode qw/encode decode/;
$pass = "double00";
elog( INFO, "$pass" );
$mspass = encode( 'UTF-16LE', qq("$pass") );
elog( INFO, "$mspass" );
$$ LANGUAGE plperlu
STRICT;
# select * from doublezero();
INFO: double00
CONTEXT: PL/Perl function "doublezero"
ERROR: invalid byte sequence for encoding "UTF8": 0x00 at line 8,
<DATA> line 558.
CONTEXT: PL/Perl function "doublezero"
I don't understand this. I need to pass $mspass to Active Directory,
and it the encoding is exactly as it should be, which is to say, it
works for strings that don't include two consecutive zeros. Is this a bug?
I am not a Perl user, but the question that came to mind is-
Does this:
mspass = encode( 'UTF-16LE', qq("$pass") )
work in Perl outside of plperlu?
-R-
--
Adrian Klaver
adrian.kla...@aklaver.com
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general