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


у меня возникли проблемы с кодировкой в 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 72

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()), используя то же самое кодирование?