Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在oracle ISO数据库中编码文件XML UTF 8(重音符号问题)_Xml_Oracle_Encoding_Utf 8_Iso - Fatal编程技术网

在oracle ISO数据库中编码文件XML UTF 8(重音符号问题)

在oracle ISO数据库中编码文件XML UTF 8(重音符号问题),xml,oracle,encoding,utf-8,iso,Xml,Oracle,Encoding,Utf 8,Iso,xml文件编码为utf-8。 我想将此文件加载到以ISO编码的oracle数据库中: NLS_CHARACTERSET=WE8ISO8859P15 我们使用了这个函数: declare i_aag_id number := 3878; i_dir varchar2(50) := 'EXT_TAB_DIR'; i_file varchar2(50) := 'PVAG_3878_AR.xml'; i_type_pjs varchar2(20) := 'PVAR'; l

xml文件编码为utf-8。 我想将此文件加载到以ISO编码的oracle数据库中: NLS_CHARACTERSET=WE8ISO8859P15

我们使用了这个函数:

declare
   i_aag_id  number := 3878;
   i_dir varchar2(50) := 'EXT_TAB_DIR';
   i_file varchar2(50) := 'PVAG_3878_AR.xml';
   i_type_pjs varchar2(20) := 'PVAR';
   l_clob   CLOB;
   xml_pjs XMLTYPE;
   l_bfile  BFILE := BFILENAME(i_dir, i_file);
begin
   DBMS_LOB.createtemporary (l_clob, TRUE);
   DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
   DBMS_LOB.loadfromfile(l_clob, l_bfile, DBMS_LOB.getlength(l_bfile));
   insert into adb_ag_pjs (aag_id,aag_pjs,aag_pjs_doc,aag_pjs_archive,aag_type_pjs)
   values (1,XMLTYPE.createXML(l_clob),null,1,i_type_pjs);
end;
不幸的是,口音加载不正确:

<?xml version = '1.0' encoding = 'UTF-8'?>
<pjs:Campaign Version="1.0" TrackId="C222_PVAR_3878" Name="C222_PVAR_3878" BreakdownCode="C222" Application="REALESTATE" xmlns:com="http://www.maileva.fr/CommonSchema" xmlns:spec="http://www.maileva.fr/MailevaSpecificSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pjs="http://www.maileva.fr/MailevaPJSSchema">
<pjs:Requests>
   <pjs:Request MediaType="PAPER" TrackId="C222_PVAR_3878">
     <pjs:Recipients>
        <pjs:Internal>
           <pjs:Recipient TrackId="MLE PARE MARIE THÿ¿Rÿ¿SE" Id="1">
                 [...]

[...]
您有没有想过在oracle iso数据库中加载一个编码为utf-8的xml文件,并使用重音符号?
谢谢

您希望哪种输出,即这些字符是什么?请检查构造函数。您可以将字符集id
csid
参数传递给它,即
NLS_CHARSET_id('AL32UTF8')
。字符必须是TrackId=“MLE PARE mare THÈRÈSE”而不是TrackId=“MLE PARE mare THÃÃSE”。我只是尝试了您对参数csid的建议,但效果并没有太好。“THÃÃÃÃÃÃÃÃSE”变为“THÃÃÃÃSE”检查也
LOADCLOBFROMFILE
,在这里您还必须指定
csid
参数。如果省略它,则该文件将被视为
WE8ISO8859P15
,即字符已在
LOADCLOBFROMFILE
处转换为