SimpleXmlRpcServer and character encoding

Diez B. Roggisch deets at nospam.web.de
Thu Oct 9 13:35:12 CEST 2008


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



More information about the Python-list mailing list