Re: SimpleXmlRpcServer and character encoding

2008-10-09 Thread Diez B. Roggisch
shymon wrote:

> 
> 
> 
> Diez B. Roggisch-2 wrote:
>> 
>> shymon wrote:
>> 
>>> I'm using SimpleXmlRpcServer class. Although I set encoding parameter in
>>> the constructor, I have to return all strings in default platform
>>> encoding
>>> (windows-1250/win32 or iso-8859-2/linux in my case). When I send values
>>> in, for example, UTF-8, string received by client is messed up.
>>> 
>>> The client is written in java using Apache XmlRpc library 2.0.
>>> 
>>> Is there any solution other than sending all string values in Base64
>>> encoding?
>> 
>> Use unicode-objects. And unicode IS NOT utf-8. The encoding parameter
>> will affect the xml generated & send over the wire - *not* what strings
>> you pass/return to your implementation.
>> 
>> So I think you should remove the encoding parameter alltogether, as this
>> will make the transport being in utf-8. Then use only unicode-objects in
>> your python code. And on the java-side, things *should* be in order.
>> 
>> Diez
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>> 
>> 
> 
> 
> I have tried unicode strings also, let's say u"miłość".
> Result received by the client was the same as if I sent UTF-8 encoded
> string.


Please show concrete code-examples, and the results, preferably as
repr-string, as these contain the hex-chars: 

repr("ö") -> "'\\xc3\\xb6'"

The above shows that the ö is encoded in utf-8.

Diez
--
http://mail.python.org/mailman/listinfo/python-list


Re: SimpleXmlRpcServer and character encoding

2008-10-09 Thread shymon



Diez B. Roggisch-2 wrote:
> 
> shymon wrote:
> 
>> I'm using SimpleXmlRpcServer class. Although I set encoding parameter in
>> the constructor, I have to return all strings in default platform
>> encoding
>> (windows-1250/win32 or iso-8859-2/linux in my case). When I send values
>> in, for example, UTF-8, string received by client is messed up.
>> 
>> The client is written in java using Apache XmlRpc library 2.0.
>> 
>> Is there any solution other than sending all string values in Base64
>> encoding?
> 
> Use unicode-objects. And unicode IS NOT utf-8. The encoding parameter will
> affect the xml generated & send over the wire - *not* what strings you
> pass/return to your implementation.
> 
> So I think you should remove the encoding parameter alltogether, as this
> will make the transport being in utf-8. Then use only unicode-objects in
> your python code. And on the java-side, things *should* be in order.
> 
> Diez
> --
> http://mail.python.org/mailman/listinfo/python-list
> 
> 


I have tried unicode strings also, let's say u"miłość".
Result received by the client was the same as if I sent UTF-8 encoded
string.


-- 
View this message in context: 
http://www.nabble.com/SimpleXmlRpcServer-and-character-encoding-tp19896427p19898136.html
Sent from the Python - python-list mailing list archive at Nabble.com.

--
http://mail.python.org/mailman/listinfo/python-list


Re: SimpleXmlRpcServer and character encoding

2008-10-09 Thread Diez B. Roggisch
shymon wrote:

> 
> 
> I'm using SimpleXmlRpcServer class. Although I set encoding parameter in
> the constructor, I have to return all strings in default platform encoding
> (windows-1250/win32 or iso-8859-2/linux in my case). When I send values
> in, for example, UTF-8, string received by client is messed up.
> 
> The client is written in java using Apache XmlRpc library 2.0.
> 
> Is there any solution other than sending all string values in Base64
> encoding?

Use unicode-objects. And unicode IS NOT utf-8. The encoding parameter will
affect the xml generated & send over the wire - *not* what strings you
pass/return to your implementation.

So I think you should remove the encoding parameter alltogether, as this
will make the transport being in utf-8. Then use only unicode-objects in
your python code. And on the java-side, things *should* be in order.

Diez
--
http://mail.python.org/mailman/listinfo/python-list