UTL_URL包

UTL_URL包提供转换URL中的非法字符和保留字符的方法。

下表展示了UTL_URL包的子程序。

子程序 描述 过程/函数
ESCAPE 使用ESCAPE函数转换URL中的非法字符和保留字符 函数
UNESCAPE UNESCAPE函数将URL转换为其原始形式 函数

以下介绍了各种函数和过程的语法、参数和说明。

示例

DECLARE
  result varchar2(400);
BEGIN
 result := utl_url.escape('https://www.abc123.com/1-2_3.4!5~6*7''8(9)/gathering/1:2/3?4;5@7=8+9$10,index.htm?src= 我们', false, 'gbk');
  DBMS_OUTPUT.PUT_LINE(result);
END;
/

DECLARE
  result varchar2(400);
BEGIN
 result := utl_url.unescape('https://www.abc123.com/1-2_3.4!5~6*7''8(9)/gathering/1:2/3?4;5@7=8+9$10,index.htm?src=%20%CE%D2%C3%C7', 'gbk');
  DBMS_OUTPUT.PUT_LINE(result);
END;

/

--测试UTF8编码的测试用例
select utl_url.escape('https://www.abc123.com/1-2_3.4!5~6*7''8(9)/gathering/1:2/3?4;5@7=8+9$10,index.htm?src= 我们', false, 'utf-8');
ESCAPE(varchar)      |
---------------------
https://www.abc123.co|
m/1-2_3.4!5~6*7'8(9)|
/gathering/1:2/3?4;5|
@7=8+9$10,index.htm?|
src=%20%E6%88%91%E4%|
BB%AC                |
总数目:1


select utl_url.unescape('https://www.abc123.com/1-2_3.4!5~6*7''8(9)/gathering/1:2/3?4;5@7=8+9$10,index.htm?src=%20%E6%88%91%E4%BB%AC', 'utf-8');
UNESCAPE(varchar)      |
-----------------------
https://www.abc123.com/|
1-2_3.4!5~6*7'8(9)/gat|
hering/1:2/3?4;5@7=8+9|
$10,index.htm?src= 我们  |
总数目:1