ORACLE接口http传输时中文转义 url_encode

打印 上一主题 下一主题

主题 590|帖子 590|积分 1770

url_encode。
  1. CREATE OR REPLACE FUNCTION url_encode(urlEncode IN VARCHAR2)
  2.   RETURN VARCHAR2 AS
  3. BEGIN
  4.   --utl_url.escape()该方法只能在函数中调用
  5.   RETURN utl_url.escape(urlEncode, TRUE, 'utf-8');
  6. END;
复制代码
  1. DECLARE
  2.   l_url VARCHAR2(4000);
  3. BEGIN
  4.   l_url := 'https://127.0.0.1.com' || '?name=' || url_encode('世界');
  5.   -- 设置字体
  6.   UTL_HTTP.SET_BODY_CHARSET('UTF-8');
  7.   -- 钱包安全 访问HTTPS必须
  8.   utl_http.set_wallet('file:/***/ORCL/wallets','Xisland123456');
  9.   -- 设置用 GET 方式请求
  10.   L_HTTP_REQUEST := UTL_HTTP.BEGIN_REQUEST(L_URL, 'GET');
  11.   DBMS_OUTPUT.put_line(l_url);
  12.   -- 获取HTTP响应
  13.   L_HTTP_RESPONSE := UTL_HTTP.GET_RESPONSE(L_HTTP_REQUEST);
  14. END;
复制代码
a. 这个 l_url := ‘https://127.0.0.1.com’ || ‘?name=’ || url_encode(‘世界’); 打印出来的是
  1. https://127.0.0.1.com?name=%E4%B8%96%E7%95%8C
复制代码
b. 这个 l_url := ‘https://127.0.0.1.com’ || ‘?name=’ || ‘世界’; 打印出来的是
  1. https://127.0.0.1.com?name=世界
复制代码
应该是转义后的数据,如果系统中没有url_encode,创建语句在最初上面

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表