I am trying to send unicode encoded utf-8 or latin1 strings over xmlrpc to a method in zope. The method in zope tries to decode the string and it seems detects ascii. I then recieve an error that "UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 4: ordinal not in range(128)"

I can re-create this error in a python shell by doing something like:
>>> s = 'helló'
>>> s2 = unicode(s,'ascii')
so after looking at code, I assume this is what is happening instead of
>>> s2 = unicode(s,'iso-8859-1')

If I submit to this method from an html form, I have no error and the data is stored perfectly.

I have tried setting the encoding of xmlrpclib.Server to utf-8 and latin1(iso-8859-1) and making a custom transport for xmlrpclib where I add charset='utf-8' or charset='iso-8859-1'.

Is is not possible to send unicode characters > 128 to zope?

The method is LDAPUserFolder.manage_edit_user()

Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to