diff --git a/youtube-dl b/youtube-dl index b1f271793..5efc55e6d 100755 --- a/youtube-dl +++ b/youtube-dl @@ -33,15 +33,15 @@ def preferredencoding(): Returns the best encoding scheme for the system, based on locale.getpreferredencoding() and some further tweaks. """ - try: - pref = locale.getpreferredencoding() - # Mac OSX systems have this problem sometimes - if pref == '': - return 'UTF-8' - return pref - except: - sys.stderr.write('WARNING: problem obtaining preferred encoding. Falling back to UTF-8.\n') - return 'UTF-8' + def yield_preferredencoding(): + try: + pref = locale.getpreferredencoding() + u'TEST'.encode(pref) + except: + pref = 'UTF-8' + while True: + yield pref + return yield_preferredencoding().next() class DownloadError(Exception): """Download Error exception.