Patch #808719: Ignore the locale's encoding if it is an empty string.
Backported to 2.3.
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
index 7baf8cc..4d67292 100644
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -48,7 +48,7 @@
         # resulting codeset may be unknown to Python. We ignore all
         # these problems, falling back to ASCII
         encoding = locale.nl_langinfo(locale.CODESET)
-        if encoding is None:
+        if encoding is None or encoding is '':
             # situation occurs on Mac OS X
             encoding = 'ascii'
         codecs.lookup(encoding)
@@ -58,7 +58,7 @@
         # bugs that can cause ValueError.
         try:
             encoding = locale.getdefaultlocale()[1]
-            if encoding is None:
+            if encoding is None or encoding is '':
                 # situation occurs on Mac OS X
                 encoding = 'ascii'
             codecs.lookup(encoding)