Importing Charset should not fail when Unicode is disabled.  (XXX
Using Unicode-aware methods may still die with a NameError on unicode.
Maybe there's a more elegant solution but I doubt anybody cares.)
diff --git a/Lib/email/Charset.py b/Lib/email/Charset.py
index 0de5f80..4a7ef69 100644
--- a/Lib/email/Charset.py
+++ b/Lib/email/Charset.py
@@ -1,7 +1,15 @@
 # Copyright (C) 2001,2002 Python Software Foundation
 # Author: che@debian.org (Ben Gertzfield)
 
-from types import UnicodeType
+try:
+    unicode
+except NameError:
+    def _is_unicode(x):
+        return 1==0
+else:
+    def _is_unicode(x):
+        return isinstance(x, unicode)
+    
 from email.Encoders import encode_7or8bit
 import email.base64MIME
 import email.quopriMIME
@@ -226,7 +234,7 @@
         Characters that could not be converted to Unicode will be replaced
         with the Unicode replacement character U+FFFD.
         """
-        if isinstance(s, UnicodeType) or self.input_codec is None:
+        if _is_unicode(s) or self.input_codec is None:
             return s
         try:
             return unicode(s, self.input_codec, 'replace')
@@ -254,7 +262,7 @@
             codec = self.output_codec
         else:
             codec = self.input_codec
-        if not isinstance(ustr, UnicodeType) or codec is None:
+        if not _is_unicode(ustr) or codec is None:
             return ustr
         try:
             return ustr.encode(codec, 'replace')