Forwardport Patch from IDLEfork SF 615312
Convert characters from the locale's encoding on output
diff --git a/Lib/idlelib/OutputWindow.py b/Lib/idlelib/OutputWindow.py
index 9d705d6..99e47e4 100644
--- a/Lib/idlelib/OutputWindow.py
+++ b/Lib/idlelib/OutputWindow.py
@@ -2,6 +2,7 @@
from EditorWindow import EditorWindow
import re
import tkMessageBox
+import IOBinding
class OutputWindow(EditorWindow):
@@ -34,6 +35,14 @@
# Act as output file
def write(self, s, tags=(), mark="insert"):
+ # Tk assumes that byte strings are Latin-1;
+ # we assume that they are in the locale's encoding
+ if isinstance(s, str):
+ try:
+ s = unicode(s, IOBinding.encoding)
+ except UnicodeError:
+ # some other encoding; let Tcl deal with it
+ pass
self.text.insert(mark, s, tags)
self.text.see(mark)
self.text.update()