J'ai un problème avec mon encodage en Python. J'ai essayé différentes méthodes, mais je n'arrive pas à trouver le meilleur moyen de coder ma sortie au format UTF-8.
C'est ce que j'essaie de faire:
result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
searchGoogle
renvoie le premier résultat Google pour param
.
C'est l'erreur que j'obtiens:
exceptions.TypeError: decoding Unicode is not supported
Est-ce que quelqu'un sait comment je peux faire Python encoder ma sortie en UTF-8 pour éviter cette erreur?
On dirait que google.searchGoogle(param)
renvoie déjà 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
Donc ce que vous voulez c'est:
result = google.searchGoogle(param).encode("utf-8")
En guise de remarque, votre code s'attend à ce qu'il retourne une chaîne codée utf-8
. Quel était donc l'intérêt de le décoder (avec unicode()
) et de l'encoder (avec .encode()
) en utilisant le même encodage?