Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to get UTF-8 encoding when create XML using DBMS_XMLGEN and UTL_FILE ?

Norbert.HeinFeb 11 2009 — edited Feb 18 2009
How to get UTF-8 encoding when create XML using DBMS_XMLGEN and UTL_FILE ?

Hi,

I do generate XML-Files by using DBMS_XMLGEN with output by UTL_FILE

but it seems, the xml-Datafile I get on end is not really UTF-8 encoding
( f.ex. cannot verifying it correct in xmlspy )

my dbms is
NLS_CHARACTERSET = WE8MSWIN1252
NLS_NCHAR_CHARACTERSET = AL16UTF16
NLS_RDBMS_VERSION = 10.2.0.1.0

I do generate it in this matter :

....

declare
xmldoc CLOB;
ctx number ;
utl_file.file_type;

begin
.....

-- generate fom xml-view :
ctx := DBMS_XMLGEN.newContext('select xml from xml_View');

DBMS_XMLGEN.setRowSetTag(ctx, null);
DBMS_XMLGEN.setRowTag(ctx, null );
DBMS_XMLGEN.SETCONVERTSPECIALCHARS(ctx,TRUE);


-- create xml-file:
xmldoc := DBMS_XMLGEN.getXML(ctx);

-- put data to host-file:
vblob_len := DBMS_LOB.getlength(xmldoc);
DBMS_LOB.READ (xmldoc, vblob_len, 1, vBuffer);

bHandle := utl_file.fopen(vPATH,vFileName,'W',32767);
UTL_FILE.put_line(bHandle, vbuffer, FALSE);
UTL_FILE.fclose(bHandle);
....
end ;

maybe while work UTL_FILE there is a change the encoding ?
How can this solved ?

Thank you
Norbert

Edited by: astramare on Feb 11, 2009 12:39 PM with database charsets
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 18 2009
Added on Feb 11 2009
8 comments
4,203 views