On Debian and Ubuntu, /etc/mime.types file is pure ASCII, but on Fedora 15 it contains a non-ASCII character, ³ (U+00B3), in the line:
"application/vnd.geocube+xml g3 g³"
And the file is encoded in UTF-8.
That's why Python should read this file from UTF-8 instead of the locale encoding, because the locale encoding can be ASCII. Attached patch implements this idead.
I think that it is a bug and so it should also be fixed in Python 3.2.
(Python 2.7 reads the file in binary mode, it doesn't care of the encoding.)