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.klaver@xxxxxxxxxxx -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general