On 31 A ustos, 04:24, Steven Bethard <[EMAIL PROTECTED]> wrote: > Sönmez Kartal wrote: > > I've had an encoding issue and solved it by > > "sys.setdefaultencoding('utf-8')"... > > > My first try wasn't successful since setdefaultencoding is not named > > when I imported sys module. After, I import sys module, I needed to > > write "reload(sys)" also. > > > I wonder why we need to call "reload(sys)" to get setdefaultencoding > > named? > > sys.setdefaultencoding is purposely deleted from the sys module after > it's loaded because you really shouldn't be using it. The reload() call > restores the deleted attribute. > > If you'd like a less brittle solution to your encoding issue, explain > what the issue was, and people here can probably help you find a better > solution. > > STeVe
I was using the XMLBuilder(xmlbuilder.py). I'm writing XML files as "f.write(str(xml))". At execution of that line, it gives error with description, configure your default encoding... My operating system's default is utf-8, and Emacs' is utf-8 too. Default of XMLBuilder is utf-8 too. There were some characters interpreter may couldn't print in ascii. I have tried to replace those characters like (TM) (R)... I cannot remember them right now, but if necessary I can find them easily... This is the part of xmlbuilder.py which raises the error. try: if self.pretty: # tabs are evil, so we will use two spaces outstr = self._dom.toprettyxml(" ",encoding=self.encoding) else: outstr = self._dom.toxml(encoding=self.encoding) except UnicodeDecodeError: sys.stderr.write('Decoding Error: You must configure default encoding\n') sys.exit() What I can do instead of "import sys; reload(sys); sys.setdefaultencoding('utf-8')"? Happy coding
-- http://mail.python.org/mailman/listinfo/python-list