Support Unicode in file names on Windows NT
[youtube-dl.git] / youtube_dl / __init__.py
index fb45adc..52da3b8 100755 (executable)
@@ -18,7 +18,7 @@ __authors__  = (
        )
 
 __license__ = 'Public Domain'
-__version__ = '2012.01.08'
+__version__ = '2012.01.08b'
 
 UPDATE_URL = 'https://raw.github.com/rg3/youtube-dl/master/youtube-dl'
 
@@ -305,7 +305,14 @@ def _encodeFilename(s):
        """
 
        assert type(s) == type(u'')
-       return s.encode(sys.getfilesystemencoding(), 'ignore')
+
+       if sys.platform == 'win32' and sys.getwindowsversion().major >= 5:
+               # Pass u'' directly to use Unicode APIs on Windows 2000 and up
+               # (Detecting Windows NT 4 is tricky because 'major >= 4' would
+               # match Windows 9x series as well. Besides, NT 4 is obsolete.)
+               return s
+       else:
+               return s.encode(sys.getfilesystemencoding(), 'ignore')
 
 class DownloadError(Exception):
        """Download Error exception.