I don't think this is a good idea. Accepting all common forms for
encoding names means that you can usually give Python an encoding name
from, e.g. a HTML page, or any other file or system that specifies an
encoding. If we only supported, e.g., "UTF-8" and no other spelling,
that would make life much more difficult. If you look into
encodings/__init__.py, you can see that throwing out all
non-alphanumerics is a conscious design choice in encoding name
normalization.
The only thing I don't know is why "utf" is an alias for utf-8.
Assigning to Marc-Andre, who implemented most of codecs.