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

url_encode

复制代码
CREATE OR REPLACE FUNCTION url_encode(urlEncode IN VARCHAR2)
  RETURN VARCHAR2 AS
BEGIN
  --utl_url.escape()该方法只能在函数中调用
  RETURN utl_url.escape(urlEncode, TRUE, 'utf-8');
END;
sql 复制代码
DECLARE
  l_url VARCHAR2(4000);
BEGIN
  l_url := 'https://127.0.0.1.com' || '?name=' || url_encode('世界');

  -- 设置字体
  UTL_HTTP.SET_BODY_CHARSET('UTF-8');

  -- 钱包安全 访问HTTPS必须
  utl_http.set_wallet('file:/***/ORCL/wallets','Xisland123456');

  -- 设置用 GET 方式请求
  L_HTTP_REQUEST := UTL_HTTP.BEGIN_REQUEST(L_URL, 'GET');

  DBMS_OUTPUT.put_line(l_url);
  -- 获取HTTP响应
  L_HTTP_RESPONSE := UTL_HTTP.GET_RESPONSE(L_HTTP_REQUEST);
END;

a. 这个 l_url := 'https://127.0.0.1.com' || '?name=' || url_encode('世界'); 打印出来的是

复制代码
https://127.0.0.1.com?name=%E4%B8%96%E7%95%8C

b. 这个 l_url := 'https://127.0.0.1.com' || '?name=' || '世界'; 打印出来的是

复制代码
https://127.0.0.1.com?name=世界

应该是转义后的数据,如果系统中没有url_encode,创建语句在最初上面

相关推荐
步步为营DotNet3 分钟前
深入探究.NET中Stream:灵活高效的数据流处理核心
服务器·数据库·.net
❀͜͡傀儡师12 分钟前
基于提供的镜像构建PostGIS、pgvector 的 PostgreSQL 18镜像的Dockerfile
数据库·postgresql·postgis
消失的旧时光-194331 分钟前
第五课:数据库不是存数据那么简单 —— MySQL 与索引的后端视角
数据库·mysql
人道领域39 分钟前
JavaWeb从入门到进阶(HTTP协议的请求与响应)
网络·网络协议·http
nice_lcj52042 分钟前
MySQL中GROUP_CONCAT函数详解 | 按日期分组拼接销售产品经典案例
数据库·mysql
key1s1 小时前
在 clickhouse时间降序排序解决方案
数据库
有梦想有行动1 小时前
ClickHouse的Partition和Part概念
linux·数据库·clickhouse
GZ_TOGOGO1 小时前
Oracle数据库考试适合哪些人
数据库·oracle·数据库开发·ocp认证·2026年it学习
Gauss松鼠会1 小时前
【openGauss】学习 gsql 命令行的使用
数据库·sql·database·opengauss
晓13131 小时前
第二章:Redis常见命令与Java客户端
java·数据库·redis