Re: utf8 encoding problem with plperlu
От | Adrian Klaver |
---|---|
Тема | Re: utf8 encoding problem with plperlu |
Дата | |
Msg-id | 55A66F6F.8030003@aklaver.com обсуждение исходный текст |
Ответ на | utf8 encoding problem with plperlu (Ronald Peterson <ron@hub.yellowbank.com>) |
Список | pgsql-general |
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@aklaver.com
В списке pgsql-general по дате отправления: