Gabriel Rossetti wrote: > Hello everyone, > > I originally posted this on the Twisted mailing list, but now it seams > to be a more general python/environment problem. If I run the attached > example in Eclipse, it works, if I run it from a terminal, it doesn't, I > get : > > $ python xml_parser_test.py > Traceback (most recent call last): > File "xml_parser_test.py", line 30, in <module> > res = rawXmlToElement("<t>reçu</t>") > File "xml_parser_test.py", line 21, in __call__ > tmp.addRawXml(s) > File "/usr/lib/python2.5/site-packages/twisted/words/xish/domish.py", > line 538, in addRawXml > self.children.append(SerializedXML(rawxmlstring)) > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: > ordinal not in range(128) > > Does anyone understand why it doesn't work outside of Eclipse? My OS is > Linux (Ubuntu 8.04).
On the contrary, I don't understand why it would work in Eclipse ;) addRawXml(s) seems to be a fancy way to create a unicode string, and unicode(s) will work either if s is a bytestring that doesn't contain any non-ascii characters or if s is a unicode string (at least these are the relevant cases here). Try changing your program to use a unicode literal: # -*- coding: utf-8 -*- ... if ... res = rawXmlToElement(u"<t>reçu</t>") Peter -- http://mail.python.org/mailman/listinfo/python-list