You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle APEX TextArea中对文本进行转义还原?

解决Oracle读取双引号在TextArea显示为"的问题

问题原因

你看到的"是HTML实体的二次转义:原始双引号"先被转义为",之后&又被再次转义为&,最终变成了"。UTL_URL.UNESCAPE仅处理URL编码(如%22),对HTML实体转义无效,所以没效果。

解决方案

方案1:Oracle端用函数还原

使用Oracle的UTL_I18N.UNESCAPE_REFERENCE函数,它可直接解码HTML实体,包括二次转义的情况:

SELECT UTL_I18N.UNESCAPE_REFERENCE(COMMENTS) FROM T_DQ_RULE WHERE ID = :P2_DQ_RULE_ID

若一次解码未解决,可嵌套调用处理二次转义:

SELECT UTL_I18N.UNESCAPE_REFERENCE(UTL_I18N.UNESCAPE_REFERENCE(COMMENTS)) FROM T_DQ_RULE WHERE ID = :P2_DQ_RULE_ID

方案2:前端页面处理

如果数据库端处理不便,可在前端用JavaScript直接解码:

  1. 给TextArea项设置静态ID(如P2_COMMENTS_TEXTAREA)
  2. 在动态动作的JavaScript执行步骤中加入:
var elem = document.getElementById('P2_COMMENTS_TEXTAREA');
// 针对性替换二次转义的双引号
elem.value = elem.value.replace(/"/g, '"');
// 或通用HTML解码方式
elem.value = elem.value.replace(/&/g, '&').replace(/"/g, '"');

方案3:检查APEX项属性

确保TextArea项的**“转义特殊字符”属性设置为“否”**(在APEX项编辑页的“安全性”板块),避免APEX自动对内容做额外转义。

内容的提问来源于stack exchange,提问作者smackenzie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:52:02