X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Flilylib.py;h=6fb96bbbf59959fccdc19a15cd846785a5befb0a;hb=5b7dd34a8b708432c2c44bd6a8ef2121ca0c0f6a;hp=4bf4e1ceebc23c0d281ecbb2b137932938659cc2;hpb=1c122290caffd067b81c60a18c97e61d1c6b209e;p=lilypond.git diff --git a/python/lilylib.py b/python/lilylib.py index 4bf4e1ceeb..6fb96bbbf5 100644 --- a/python/lilylib.py +++ b/python/lilylib.py @@ -1,6 +1,6 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1998--2010 Han-Wen Nienhuys +# Copyright (C) 1998--2011 Han-Wen Nienhuys # Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify @@ -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@'