我需要直接从 oracle PL/SQL 包发送 HTML 电子邮件。这几乎可以正常工作。
我对从表中获取的某些数据包含诸如<S>
、<L>
和类似片段之类的事实存在疑问,这些片段有时被视为 HTML 标记,即使不是,它们也总是被忽略且从不显示。
因此,我需要在插入电子邮件正文之前转义此列。
是否有自动将 html 特殊字符转义为实体的功能?还是我需要replace('<', '<', string)
手动输入所有特殊字符?
我需要直接从 oracle PL/SQL 包发送 HTML 电子邮件。这几乎可以正常工作。
我对从表中获取的某些数据包含诸如<S>
、<L>
和类似片段之类的事实存在疑问,这些片段有时被视为 HTML 标记,即使不是,它们也总是被忽略且从不显示。
因此,我需要在插入电子邮件正文之前转义此列。
是否有自动将 html 特殊字符转义为实体的功能?还是我需要replace('<', '<', string)
手动输入所有特殊字符?
您可以使用 htf.escape_sc 函数:
SQL> select htf.escape_sc('Please escape <this> tag') from dual;
HTF.ESCAPE_SC('PLEASEESCAPE<THIS>TAG')
------------------------------------------------------------------
Please escape <this> tag
还可以使用可以处理 clob 的 DBMS_XMLGEN.CONVERT。
例子:
select DBMS_XMLGEN.CONVERT('<foo>') from dual
详情:https ://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_xmlgen.htm