Re: plperlu problem with utf8
От | Oleg Bartunov |
---|---|
Тема | Re: plperlu problem with utf8 |
Дата | |
Msg-id | Pine.LNX.4.64.1012081912200.12632@sn.sai.msu.ru обсуждение исходный текст |
Ответ на | Re: plperlu problem with utf8 (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: plperlu problem with utf8
|
Список | pgsql-hackers |
adding utf8::decode($_[0]) solves the problem: knn=# CREATE OR REPLACE FUNCTION url_decode(Vkw varchar) RETURNS varchar AS $$ use strict; use URI::Escape; utf8::decode($_[0]); return uri_unescape($_[0]); $$ LANGUAGE plperlu; Oleg On Wed, 8 Dec 2010, Andrew Dunstan wrote: > > > On 12/08/2010 10:13 AM, Oleg Bartunov wrote: >> Hi there, >> >> below is the problem, which I don't have when running in shell. The >> database is in UTF-8 encoding. >> >> CREATE OR REPLACE FUNCTION url_decode(Vkw varchar) RETURNS varchar AS $$ >> use strict; >> use URI::Escape; >> return uri_unescape($_[0]); $$ LANGUAGE plperlu; >> CREATE FUNCTION >> Time: 1.416 ms >> select url_decode('comment%20passer%20le%20r%C3%A9veillon'); >> url_decode ------------------------------ >> comment passer le rveillon >> ^ >> non-printed > > > I get: (platform is Fedora 13, git tip, perl 5.10.1): > > andrew=# CREATE OR REPLACE FUNCTION url_decode(Vkw varchar) RETURNS > varchar AS $$ > andrew$# use strict; > andrew$# use URI::Escape; > andrew$# return uri_unescape($_[0]); $$ LANGUAGE plperlu; > CREATE FUNCTION > andrew=# select url_decode('comment%20passer%20le%20r%C3%A9veillon'); > url_decode > ------------------------------ > comment passer le r?©veillon > (1 row) > > andrew=# > > which makes it look like we might have some double escaping going on here, > but at least I don't get nothing :-) > > Further experimentation shows even more weirdness. There's definitely > something odd about the utf8 handling. Will dig further. > > cheers > > andrew > > > Regards, Oleg _____________________________________________________________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83
В списке pgsql-hackers по дате отправления: