前端之家收集整理的这篇文章主要介绍了
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,'UTF8'));
dbms_output.put_line(utl_url.escape('中国http://www.baidu.com/参数/=+/','UTF8'));
end;
%D6%D0%B9%FAhttp%3A%2F%2Fwww.baidu.com%2F%B2%CE%CA%FD%2F%3D%2B%2F
%D6%D0%B9%FAhttp:
%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:
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;
原文链接:https://www.f2er.com/oracle/209147.html