如何在Oracle中对UTF8字符进行xml编码?

如何在Oracle中对UTF8字符进行xml编码?,xml,xml-parsing,oracle11g,Xml,Xml Parsing,Oracle11g,我正在使用dbms_xmlgen来帮助生成XML文件。但是,它没有对我的chr50093值进行编码。 当我将输出保存到文件并使用IE9查看该文件时,我从IE9获得以下消息 An invalid character was found in text content. Error processing resource 'file:c/temp/XML_analysis/xml_aaa.xml'. D 以下是我的示例作品: set serveroutput on; declare c

我正在使用dbms_xmlgen来帮助生成XML文件。但是,它没有对我的chr50093值进行编码。 当我将输出保存到文件并使用IE9查看该文件时,我从IE9获得以下消息

An invalid character was found in text content. 
Error processing resource 'file:c/temp/XML_analysis/xml_aaa.xml'.

D
以下是我的示例作品:

 set serveroutput on;
 declare 
 cursor error_item is
 with error_row as
 (select 'D' || chr(50093) || 'a' as lname from dual)
  select lname from error_row;

 line1 varchar2(100) :=  '<?xml version="1.0" encoding="UTF-8" ?>';
 line2 varchar2(100) := '<word>';
 line3 varchar2(100);
 line4 varchar2(100) := '</word>';

 begin

 open error_item;
 fetch error_item into line3;
 close error_item;
 line3 := dbms_xmlgen.convert(line3);
 dbms_output.put_line(line1);
 dbms_output.put_line(line2);
 dbms_output.put_line(line3);
 dbms_output.put_line(line4);

 end;
我查阅过这个网站

问题:

为什么dbms_xmlgen.convert不编码chr50093

在哪里可以了解有关如何使用Oracle方法对UTF8字符集进行xml编码的更多信息


这里有一种编码字符的方法

参考网站,如 确定十进制编码值。在本例中,chr50093(拉丁文小写字母I)的十进制编码值为237。 在237前面加上&characters,并在后面加一个;。在Oracle中,您可以像在replace'string with characters',chr50093,&237;中那样使用replace来执行此操作 在这种情况下,将第3行赋值语句替换为

第3行:=replaceline3,chr50093'&237;'

您应该能够在XML读取器中读取输出