【发布时间】:2013-01-09 13:01:36
【问题描述】:
我正在尝试将 XML 转换为 CLOB 并将其保存在表中。 DB 版本为 Oracle 9.2.0.8。 这就是我创建 XML 的方式。
DECLARE
p dbms_xmlparser.parser;
xml_doc dbms_xmldom.domdocument;
BEGIN
p := dbms_xmlparser.newParser;
dbms_xmlparser..parseBuffer(p, '<?xml version="1.0" encoding="'||codepage||'"?><elm/>');
d := dbms_xmlparser.getDocument(p);
...
END;
但在将 XML 转换为 CLOB 后,变量 v_xml_clob 中的西里尔字符变得不可读:
v_xml_clob clob;
DBMS_LOB.createtemporary (v_xml_clob, TRUE);
dbms_xmldom.writeToClob(xml_doc , v_xml_clob);
但是当我将 XML 写入文件时一切正常:dbms_xmldom.writeToFile(xml_doc , PATH);
这是错误的文本示例:
Сберегательные депозиты резидентов - национальная валюта
is becoming
бсх№хурђхыќэћх фхяючшђћ №хчшфхэђют - эрішюэрыќэрџ трыўђр
请帮我解决这个问题。
【问题讨论】:
-
原始字节在 Windows-1251 中编码,但在结果中它们被视为 ISO-8859-5。这有帮助吗?您可以在代码中的某处查找它们,但您没有显示它们。
-
感谢您的帮助。解决了