--- locale-orig.py 2009-06-07 20:59:46.000000000 +0530 +++ locale.py 2009-09-12 19:41:39.000000000 +0530 @@ -416,11 +416,13 @@ # since some systems may use other encodings for these # locales. Also, we ignore other modifiers. return code, 'iso-8859-15' - + if code == 'C': + return None, None if '.' in code: return tuple(code.split('.')[:2]) - elif code == 'C': - return None, None + else: + # locale name value does not have encoding information + return code, None raise ValueError('unknown locale: %s' % localename) def _build_localename(localetuple):