Custom XML
I'd suggest making a custom PL/SQL program that generates the XML. It will not only run faster, but also allow you to do whatever you want with the output. This will require some programming knowledge.
I can't put a complete copy of our program here, but I can give you some pointers:
You would make the program to append XML snippets to a running XML clob.
clob_gen_xml_line := '<?xml version="1.0"?>';
DBMS_LOB.append (clob_genrate_xml, clob_gen_xml_line);
At some point the program will read the clob to make output.
DBMS_LOB.READ (clob_genrate_xml,
amount,
offset,
buffer);
offset := offset + amount;
FND_FILE.PUT(FND_FILE.output, buffer);
Make sure to free up the memory.
DBMS_LOB.freeTemporary (clob_genrate_xml);
Define an executable in the IT Sysadmin responsibility, method = PL/SQL stored Procedure, make sure to put the correct package.procedure into the executable file name field.
Define a concurrent program, listing the executable you just made. Make sure the output format is XML.
Define a matching data definition. No need to upload an XML/SQL file, since the executable will provide the XML.
Finally, create your template and link to the data definition.
Special Characters
With all of that said, I'm not sure if that will solve your Chinese character problem. It may be related to XML and non UTF-8 characters. There's tons of documentation online for that. But generally, you will want to represent the character with the unicode code point.
Example
To produce: Ampersand and then a copyright symbol
Like: &©
XML should be
<test>&©</test>
List of entity references
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references