oracle 利用url encode decode转换字符编码

   oracle数据库环境的字符集是GBK的,也就是每个中文占用2个字节的长度,可以通过utl_url把相应的字符进行编码解码。
   utl_url.escape可以对字符串进行URLEncode,utl_url.escape定义如下:
FUNCTION escape(url  IN VARCHAR2 CHARACTER SET ANY_CS,
               escape_reserved_chars IN BOOLEAN  DEFAULT FALSE,
               url_charset IN VARCHAR2 DEFAULT utl_http.get_body_charset)

RETURN VARCHAR2 CHARACTER SET url%CHARSET;
begin
  dbms_output.put_line(utl_url.escape('中国http://www.baidu.com/参数/=+/',true,'GB2312'));
  dbms_output.put_line(utl_url.escape('中国http://www.baidu.com/参数/=+/',false,'GB2312'));
  dbms_output.put_line(utl_url.escape('中国http://www.baidu.com/参数/=+/',true,'UTF8'));
  dbms_output.put_line(utl_url.escape('中国http://www.baidu.com/参数/=+/',false,'UTF8'));
end;

%D6%D0%B9%FAhttp%3A%2F%2Fwww.baidu.com%2F%B2%CE%CA%FD%2F%3D%2B%2F
%D6%D0%B9%FAhttp://www.baidu.com/%B2%CE%CA%FD/=+/
%E4%B8%AD%E5%9B%BDhttp%3A%2F%2Fwww.baidu.com%2F%E5%8F%82%E6%95%B0%2F%3D%2B%2F
%E4%B8%AD%E5%9B%BDhttp://www.baidu.com/%E5%8F%82%E6%95%B0/=+/
   utl_url.unescape可以对字符串进行URLDecode,utl_url.unescape定义:
  FUNCTION unescape(url IN VARCHAR2 CHARACTER SET ANY_CS,
        url_charset IN VARCHAR2 DEFAULT utl_http.get_body_charset)
  RETURN VARCHAR2 CHARACTER SET url%CHARSET;
begin
dbms_output.put_line( utl_url.unescape('http%3A%2F%2Fwww.baidu.com%2F%E5%8F%82%E6%95%B0%2F%3D%2B%2F','UTF8'));
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值