parent
4c074382bd
commit
cbb5308723
|
@ -766,7 +766,17 @@ class StreamHandler(Handler):
|
|||
try:
|
||||
if (isinstance(msg, unicode) and
|
||||
getattr(stream, 'encoding', None)):
|
||||
stream.write(fs.decode(stream.encoding) % msg)
|
||||
fs = fs.decode(stream.encoding)
|
||||
try:
|
||||
stream.write(fs % msg)
|
||||
except UnicodeEncodeError:
|
||||
#Printing to terminals sometimes fails. For example,
|
||||
#with an encoding of 'cp1251', the above write will
|
||||
#work if written to a stream opened or wrapped by
|
||||
#the codecs module, but fail when writing to a
|
||||
#terminal even when the codepage is set to cp1251.
|
||||
#An extra encoding step seems to be needed.
|
||||
stream.write((fs % msg).encode(stream.encoding))
|
||||
else:
|
||||
stream.write(fs % msg)
|
||||
except UnicodeError:
|
||||
|
|
Loading…
Reference in New Issue