Hello, Thanks for your reply. I successfully pass the the Korean Character round-trip test with current CVS version which is patched from the atlassian. ( with common-codec-1.2 )
Thanks, Youngho ----- Original Message ----- From: "Shirai,Kaoru" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, October 07, 2004 10:32 AM Subject: Re: Passing non-ASCII String value - Again > > Does we need another patch ? > > 1. Try to insert this code before creating XmlRpcClient: > > XmlRpc.setEncoding("UTF8"); > > 2. Otherwise, how about this patch (string-utf8.diff)? > ( Note: This patch also requires XmlRpc.setEncoding("UTF8") ) > -- > Shirai,Kaoru <[EMAIL PROTECTED]> > Korinkan Ltd. - http://www.korinkan.co.jp/ > -------------------------------------------------------------------------------- > Index: src/java/org/apache/xmlrpc/XmlRpc.java > =================================================================== > RCS file: /home/cvspublic/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpc.java,v > retrieving revision 1.37 > diff -u -r1.37 XmlRpc.java > --- src/java/org/apache/xmlrpc/XmlRpc.java 30 Jun 2004 06:11:55 -0000 1.37 > +++ src/java/org/apache/xmlrpc/XmlRpc.java 7 Oct 2004 01:31:24 -0000 > @@ -56,6 +56,7 @@ > */ > > import java.io.InputStream; > +import java.io.InputStreamReader; > import java.util.Hashtable; > import java.util.Stack; > import java.util.Vector; > @@ -387,6 +388,7 @@ > */ > synchronized void parse(InputStream is) throws Exception > { > + InputStreamReader reader = new InputStreamReader(is, "UTF8"); > // reset values (XmlRpc objects are reusable) > errorLevel = NONE; > errorMsg = null; > @@ -440,7 +442,7 @@ > } > try > { > - parser.parse(new InputSource (is)); > + parser.parse(new InputSource (reader)); > } > finally > { > Index: src/java/org/apache/xmlrpc/XmlWriter.java > =================================================================== > RCS file: /home/cvspublic/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlWriter.java,v > retrieving revision 1.11 > diff -u -r1.11 XmlWriter.java > --- src/java/org/apache/xmlrpc/XmlWriter.java 30 Jun 2004 18:46:58 -0000 1.11 > +++ src/java/org/apache/xmlrpc/XmlWriter.java 7 Oct 2004 01:31:24 -0000 > @@ -335,11 +335,6 @@ > char c = text.charAt (i); > switch (c) > { > - case '\t': > - case '\r': > - case '\n': > - write(c); > - break; > case '<': > write(LESS_THAN_ENTITY); > break; > @@ -350,8 +345,16 @@ > write(AMPERSAND_ENTITY); > break; > default: > - if (c < 0x20 || c > 0xff) > - { > + boolean badChar = false; > + switch (c) { > + case '\t': > + case '\r': > + case '\n': > + break; > + default: > + badChar = (c < 0x20); > + } > + if (badChar) { > // Though the XML-RPC spec allows any ASCII > // characters except '<' and '&', the XML spec > // does not allow this range of characters, > @@ -361,10 +364,7 @@ > "corresponding to XML entity &#" + > String.valueOf((int) c) + ';', null); > } > - else > - { > - write(c); > - } > + write(c); > } > } > } >