Вы уверены, что хотите, чтобы последовательность в кодировке UTF-8 сохранялась в типе Unicode? Обычно Python хранит символы в типах.UnicodeType, используя UCS-2 или -4, что иногда называют «широкими» символами, которые должны содержать символы из всех достаточно распространенных сценариев.
Интересно, что это за библиотека, которая иногда выводит types.StringType, а иногда types.UnicodeType. Если бы я сделал неверное предположение, библиотека всегда создает type.StringType, но не сообщает, в какой кодировке она находится. Если это так, вы на самом деле ищете код, который может угадать, в какой кодировке закодирован type.StringType. а.
В большинстве случаев это легко, так как вы можете предположить, что это либо, например, латинский-1 или UTF-8. Если текст может быть в любой нечетной кодировке (например, входящая почта без правильного заголовка), вам нужна библиотека, которая угадывает кодировку. Смотри http://chardet.feedparser.org/.