我正在尝试将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后,cyrilic字符在变量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
бсх№хурђхыќэћх фхяючшђћ №хчшфхэђют - эрішюэрыќэрџ трыўђр
请帮我解决这个问题。
答案 0 :(得分:0)
解决这个问题:
v_xml_clob := convert(v_xml_clob,'CL8ISO8859P5','CL8MSWIN1251');