Hello,

>> Are you sure that it objects to characters with values > 0XFF?
>> 
>> It certainly should refuse to send characters with values less than 
>> 0X20 unless they are /n, /r or /t. The XML spec spec does not allow 
>> these values in a well formed XML document.
>
> Sorry, that's right about values < 0x20. There is no problem that I
> cannot send those characters. But about characters with values > 0xFF,
> XML 1.0 allows it except for some special characters:
>
> Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] |
>         [#x10000-#x10FFFF]
> http://www.w3.org/TR/REC-xml/#charsets
>
> I think those should be allowed. The string I want to send only
> contains Unicode characters defined in above.

I found some patch for passing non ascii char from
http://jira.atlassian.com/browse/CONF-1188
 
 But I got another problem when I patching above patch into 1.2-b1 version.
 if I send some Korean Character which the hex values are
 utf8Bytes[0] = 0xea
 utf8Bytes[1] = 0xb0
 utf8Bytes[2] = 0x80
 utf8Bytes[3] = 0xea
 utf8Bytes[4] = 0xb0
 utf8Bytes[5] = 0x81
 
 The receiving value was
 utf8Bytes[0] = 0xea
 utf8Bytes[1] = 0xb0
 utf8Bytes[2] = 0x3f
 utf8Bytes[3] = 0xea
 utf8Bytes[4] = 0xb0
 utf8Bytes[5] = 0x3f
 
 Does we need another patch ?
 
 I used following Testing code
 
     /**
      * Tests client/server RPC 
      */
     public void testHangul()
     {
         try
         {
             String hangul = "가각";
             Vector params = new Vector();
             byte[] utf8Bytes = hangul.getBytes("UTF-8"); 
             // StringConverter is in java tutorial from sun
             StringConverter.printBytes(utf8Bytes, "utf8Bytes");
             params.add(hangul);
             Object response = client.execute(HANDLER_NAME + ".echo", params);  
             assertEquals(hangul, response);
         }
         catch (Exception e)
         {
             e.printStackTrace();
             fail(e.getMessage());
         }
     }   
  
     protected class TestHandler
     {
         public String echo(String message)
         {
            try
            {   
                byte[] utf8Bytes = message.getBytes(); 
                // StringConverter is in java tutorial from sun
                StringConverter.printBytes(utf8Bytes, "utf8Bytes");
            }
            catch(Exception e)
           {
                //
            }
             return message;
         }
     }
 
 
 Thanks,
 
 Youngho

Reply via email to