X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Flilylib.py;h=6fb96bbbf59959fccdc19a15cd846785a5befb0a;hb=e378c1bba8d1db2689fe815c449ace57e234ab17;hp=3bf77f6f44c5a439cfaf799e24d76275d685390e;hpb=cff226053d927e433473697fe743bdfd721d2607;p=lilypond.git diff --git a/python/lilylib.py b/python/lilylib.py index 3bf77f6f44..6fb96bbbf5 100644 --- a/python/lilylib.py +++ b/python/lilylib.py @@ -47,13 +47,19 @@ underscore = _ # Urg, Python 2.4 does not define stderr/stdout encoding # Maybe guess encoding from LANG/LC_ALL/LC_CTYPE? +reload (sys) +sys.setdefaultencoding ('utf-8') +import codecs +sys.stdout = codecs.getwriter ('utf8') (sys.stdout) +sys.stderr = codecs.getwriter ('utf8') (sys.stderr) + def encoded_write(f, s): - f.write (s.encode (f.encoding or 'utf_8')) + f.write (s.encode (f.encoding or 'utf-8', 'replace')) # ugh, Python 2.5 optparse requires Unicode strings in some argument # functions, and refuse them in some other places def display_encode (s): - return s.encode (sys.stderr.encoding or 'utf_8') + return s.encode (sys.stderr.encoding or 'utf-8', 'replace') # Lilylib globals. program_version = '@TOPLEVEL_VERSION@'