Poignée à tort caractère codé en Python chaîne unicode

Je fais affaire avec des chaînes unicode retourné par le python-lastfm bibliothèque.

Je suppose que quelque part sur la route, la médiathèque est l'encodage de mal et retourne une chaîne unicode qui peut contenir des caractères non valides.

Par exemple, la chaîne d'origine, je suis dans l'attente de la variable a est "Glück"

>>> un 
u'Gl\xfcck' 
>>> print une 
Traceback (most recent call last): 
File "", line 1, in 
UnicodeEncodeError: 'ascii' codec ne peut pas encoder les caractères u'\xfc' à la position 2: ordinal pas in range(128) 

\xfc est échappé de la valeur 252, qui correspond à l'encodage latin1 "ü". De toute façon ce sera intégrée dans la chaîne unicode en une façon python ne peut pas gérer sur son propre.

Comment puis-je convertir ce retour à la normal ou une chaîne unicode qui contient l'original "Glück"? J'ai essayé de jouer avec les décoder/encoder les méthodes, mais eu un UnicodeEncodeError, ou une chaîne de caractères contenant la séquence \xfc.

Quelle est la version de Python que vous utilisez?
Ce système d'exploitation? Qu'est-ce que sys.stdout.encoding?
double possible de BeautifulSoup findall avec un attribut de classe - unicode encoder erreur
et quelques dizaines d'autres questions

OriginalL'auteur strfry | 2011-04-22