如何在Oracle中对UTF8字符进行xml编码?
我正在使用dbms_xmlgen来帮助生成XML文件。但是,它没有对我的chr50093值进行编码。 当我将输出保存到文件并使用IE9查看该文件时,我从IE9获得以下消息如何在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
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读取器中读取输出