Юникод не поддерживается Python

У меня проблема с моей кодировкой в ​​Python. Я пробовал разные методы, но я не могу найти лучший способ кодирования моего вывода в UTF-8.

Это то, что я пытаюсь сделать:

result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")

searchGoogle возвращает первый результат Google для param.

Это ошибка, которую я получаю:

exceptions.TypeError: decoding Unicode is not supported

Кто-нибудь знает, как я могу заставить Python кодировать мой вывод в UTF-8, чтобы избежать этой ошибки?

Ответ 1

Похоже, google.searchGoogle(param) уже возвращает unicode:

>>> unicode(u'foo', 'utf-8')

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    unicode(u'foo', 'utf-8')
TypeError: decoding Unicode is not supported

Итак, вы хотите:

result = google.searchGoogle(param).encode("utf-8")

В качестве побочного примечания ваш код ожидает, что он вернет строку utf-8, закодированную так, какова была точка в ее декодировании (с использованием unicode()) и обратно в кодировке (используя .encode()) с использованием той же кодировки?