我正在使用PL / SQL和XMLElement函数来帮助我将一些VARCHAR列格式化为XML格式。我的问题是,XMLElement似乎将编码转换为无法读取特殊字符的内容,因此输出存储的VARCHAR,如'text"text'
。
如果我在没有XMLElement的情况下执行相同的查询,我会得到所需的输出,因为它似乎已存储,即'text"text'
。
更改编码的示例性查询:
SELECT XMLElement("element", T.COLUMN)
FROM TABLE T;
返回预期编码的示例性查询:
SELECT T.COLUMN
FROM TABLE T;
我尝试使用CONVERT(T.COLUMN,'UTF8'),但XMLElement函数似乎后来处理输入,因此改变了编码(这是我的猜测)。
如何防止PL / SQL表单分别更改编码?如何将其转换回来?
评论解决方案:
SELECT DBMS_XMLGEN.CONVERT(XMLElement("element", T.COLUMN).GetClobVal(), 1) FROM TABLE T;