Serhiy Storchaka added the comment: Updating tests I found some related errors.
XML-RPC doesn't work in general case for non UTF-8 encoding: >>> import xmlrpclib >>> xmlrpclib.dumps(('\u20ac',), encoding='iso-8859-1') '<params>\n<param>\n<value><string>\\u20ac</string></value>\n</param>\n</params>\n' >>> xmlrpclib.dumps((u'\u20ac',), encoding='iso-8859-1') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/xmlrpclib.py", line 1085, in dumps data = m.dumps(params) File "/usr/lib/python2.7/xmlrpclib.py", line 632, in dumps dump(v, write) File "/usr/lib/python2.7/xmlrpclib.py", line 654, in __dump f(self, value, write) File "/usr/lib/python2.7/xmlrpclib.py", line 700, in dump_unicode value = value.encode(self.encoding) UnicodeEncodeError: 'latin-1' codec can't encode character u'\u20ac' in position 0: ordinal not in range(256) We should use 'xmlcharrefreplace' error handler. Non-ASCII strings is passed as Unicode strings (this should be documented). >>> xmlrpclib.loads(xmlrpclib.dumps(('\xe2\x82\xac',))) ((u'\u20ac',), None) '\r' and '\r\n' are deserialized as '\n'. >>> xmlrpclib.loads(xmlrpclib.dumps(('\r',))) (('\n',), None) >>> xmlrpclib.loads(xmlrpclib.dumps(('\r\n',))) (('\n',), None) ---------- Added file: http://bugs.python.org/file30360/xmlrpc_dump_invalid_string-2.7_2.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7727> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com