----- Original Message -----
Sent: Tuesday, December 11, 2001 1:31
PM
Subject: urgent encoding problem...
Hi all,
I
have some problems with the xsp pages and encoding. When i try to display
Shift_JIS encoded characters it is not displaying properly.
when i hard code the japnese
characters it is working properly. for example in this xsp page
<?xml version="1.0"
encoding="Shift_JIS"?>
<?cocoon-process
type="xsp"?>
<?cocoon-process
type="xslt"?>
<?xml-stylesheet
href="xsl/viewMail-to-html.xsl" type="text/xsl" ?>
<page>
<title>melpo View
Mail</title>
<body>
<label>‚ ‚È‚½‚ÌPC‚Ì’†‚̃[ƒ‹ƒNƒ‰ƒCƒAƒ“ƒg‚ªÄŠJ‚³‚ê‚Ü‚µ‚½B
</label>
</body>
</xsp:page>
the display html is working fine
and the characters are working properly .. but the source of the html shows
<html>
<body>
あなたのPCの中のメールクライアントが再開されました。
</body>
</html>
<!-- This page was served in
2278 milliseconds by Cocoon 1.8.2 -->
but why is the characters converted
into numbers. the problem i have here is this consumes more bytes .. so if the
device has some size limitations of the source of the page then it is a
problem. if the characters are left same way then it would consume less bytes
for the source page.
The second problem is, when i
dynamically include xml in my xsp it is not working. But the same
string when hardcode in the xsp page it is working fine.
<?xml version="1.0"
encoding="Shift_JIS"?>
<?cocoon-process
type="xsp"?>
<?cocoon-process
type="xslt"?>
<?xml-stylesheet
href="xsl/viewMail-to-html.xsl" type="text/xsl" ?>
<page>
<title>melpo View
Mail</title>
<body>
<xsp:logic>
String
xml = (String) request.getAttribute(xml);
<xsp:content>
<util:include-expr><util:expr>xml</util:expr></util:include-expr>
// this will append an xml string like
<label>‚ ‚È‚½‚ÌPC‚Ì’†‚̃[J‚³‚ê‚Ü‚µ‚½B
</label>
</xsp:content>
</xsp:logic>
</body>
</xsp:page>
i am getting an error
org.xml.sax.SAXException: An invalid XML character (Unicode: 0x13) was
found in the element content of the document. [FATAL ERROR] [File: "null"
Line: 1 Column: 109] (nested exception: org.xml.sax.SAXParseException: An
invalid XML character (Unicode: 0x13) was found in the element content of the
document.)
But the string i am getting if hardcoded
itzworking fine. because whrn i hardcode it, the xsp page when getting
compiled, it is converting all the characters to those numbers. and whenever
the string is dynamically included the it is not
working..................................
and the third problem is ,
when i load a
string to a dom andthen get back the string the encoding information is
gone.The characers displayed are ???????????
String fullXml = "<?xml version=\"1.0\"
encoding=\"Shift_JIS\"?><Response><Message>Mail Client in your
PC has been ƒƒOƒAƒEƒg Restarted ƒGƒLƒTƒCƒg : –|–ó„—˜—p‹K–ñ xxx
</Message></Response>";
DOMParser parser = new
DOMParser();
InputStream is = new
ByteArrayInputStream(fullXml.getBytes());
InputSource
isource=new
InputSource(is);
parser.parse(isource);
Document
xmlDoc=
parser.getDocument(); //created an
dom
------------ doing some
manipulation ------------------
OutputFormat format = new OutputFormat( xmlDoc
); //Serialize DOM
StringWriter stringOut = new
StringWriter();
//Writer will be a String
XMLSerializer serial = new XMLSerializer( stringOut, format
);
serial.asDOMSerializer();
// As a DOM Serializer
serial.serialize(
xmlDoc.getDocumentElement() );
String
returnXML = stringOut.toString(); // got back the xml as
String.
now if i display the string "
returnXML " all the japanese characters are gone. the output is only
"???????????"
Can any of you please give a
solution for these problems, as it is very urgent for me. I have been trying
to solve theses isuues from past 2 days and have searched mail archives i was
not able to find a solution.
Thankx in Advance
regards,
Arun.N,