On 7/2/2012 7:49 PM, self.python wrote: > ---------------------------------------------------------------- > Traceback (most recent call last): > File "C:wrong.py", line 8, in <module> > print rf.read().decode('utf-8') > UnicodeEncodeError: 'cp949' codec can't encode character u'u1368' in position > 5 > 5122: illegal multibyte sequence > --------------------------------------------------------------------- > > cp949 is the basic codec of sys.stdout and cmd.exe > but I have no idea why it doesn't works. > printing without decode('utf-8') works fine on IDLE but on cmd, it print > broken characters(Ascii portion is still fine, problem is only about the > Korean) Your terminal can't display those characters. You could try using other code pages with chcp (a CLI utility that is part of Windows). IDLE is a GUI, so it does not have to work with code pages.
Python 3.3 supports cp65001 (which is the equivalent of UTF-8 for Windows terminals), but unfortunately, previous versions do not. -- CPython 3.3.0a4 | Windows NT 6.1.7601.17803 -- http://mail.python.org/mailman/listinfo/python-list