Thread: URL Decoding

URL Decoding

From
Arnaud Lesauvage
Date:
Hi List !

I am looking for an easy URL decoding function.
I thought about using regexp_replace, but I cna't get it to
work :

SELECT regexp_replace('foo%B5bar', '%(..)', '\x\\1' , 'g');
 > 'fooxB5bar'

I wanted to replace %BE with the character \xB5 (µ, I
think), but of course I am doing this wrong...
Is there a simple way t odo this ?

Thanks a lot !

--
Arnaud

Re: URL Decoding

From
Tino Wildenhain
Date:
Arnaud Lesauvage schrieb:
> Hi List !
>
> I am looking for an easy URL decoding function.
> I thought about using regexp_replace, but I cna't get it to work :
>
> SELECT regexp_replace('foo%B5bar', '%(..)', '\x\\1' , 'g');
>  > 'fooxB5bar'
>
> I wanted to replace %BE with the character \xB5 (µ, I think), but of
> course I am doing this wrong...
> Is there a simple way t odo this ?

I was simply using a stored function using pl/pythonu with
urllib (split and unquote). Works flawlessy :-)

Regards
T.

Re: URL Decoding

From
Arnaud Lesauvage
Date:
Tino Wildenhain a écrit :
> Arnaud Lesauvage schrieb:
>> Hi List !
>>
>> I am looking for an easy URL decoding function.
>> I thought about using regexp_replace, but I cna't get it to work :
>>
>> SELECT regexp_replace('foo%B5bar', '%(..)', '\x\\1' , 'g');
>>  > 'fooxB5bar'
>>
>> I wanted to replace %BE with the character \xB5 (µ, I think), but of
>> course I am doing this wrong...
>> Is there a simple way t odo this ?
>
> I was simply using a stored function using pl/pythonu with
> urllib (split and unquote). Works flawlessy :-)

Thanks for the tip Tino, but that means installing pythonu.
I'd like to avoid that, since I won't use it for anything
but this function.

--
Arnaud


Re: URL Decoding

From
Tino Wildenhain
Date:
Arnaud Lesauvage schrieb:
> Tino Wildenhain a écrit :
>> Arnaud Lesauvage schrieb:
>>> Hi List !
>>>
>>> I am looking for an easy URL decoding function.
>>> I thought about using regexp_replace, but I cna't get it to work :
>>>
>>> SELECT regexp_replace('foo%B5bar', '%(..)', '\x\\1' , 'g');
>>>  > 'fooxB5bar'
>>>
>>> I wanted to replace %BE with the character \xB5 (µ, I think), but of
>>> course I am doing this wrong...
>>> Is there a simple way t odo this ?
>>
>> I was simply using a stored function using pl/pythonu with
>> urllib (split and unquote). Works flawlessy :-)
>
> Thanks for the tip Tino, but that means installing pythonu. I'd like to
> avoid that, since I won't use it for anything but this function.

Yes, but it would not hurt imho. Maybe you can use it for further
datamanipulation once you have it :-) plpythonu comes with postgres
so its just like configuring your database. Btw, I think pl/perl and
friends are able too, if these languages mean more for you.

Regards
Tino