The C environment interface that Windows provides Python uses the system code page to encode file names. Unlike OS X and modern versions of Linux, on Windows the system codepage is never UTF-8. So a byte string of UTF-8 will not be good.
, .encode('mbcs'), , , .encode('cp949'). , UTF-8, sys.getfilesystemencoding, utf-8 mbcs Windows.
cp949 , - ( EUC-KR).
, - Unicode. Windows Unicode Windows UTF-16LE, . ( . PEP277.
, : Linux OS X Unicode UTF-8 . Python , Python 3 ( Unicode).
, Unicode Python 2, :
,
open(unicode('ํ๊ธ.txt', 'euc-kr'))
, 'cp949' ( Windows EUC-KR). , , 'mbcs', , , -, , . , PyShell, , , , :
open(u'ํ๊ธ')