1

XMLをCLOBに変換し、テーブルに保存しようとしています。DBのバージョンはOracle9.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
бсх№хурђхыќэћх фхяючшђћ №хчшфхэђют - эрішюэрыќэрџ трыўђр

これを修正するのを手伝ってください。

4

1 に答える 1

0

このように解決しました:

v_xml_clob := convert(v_xml_clob,'CL8ISO8859P5','CL8MSWIN1251');
于 2013-01-10T06:48:13.327 に答える