Impossible de décoder chaîne unicode en Python 2.4

C'est en python 2.4. Voici ma situation. Je tire une chaîne à partir d'une base de données, et qu'il contient une umlauted 'o' (\xf6). À ce stade, si je lance type(valeur) renvoie str. J'ai ensuite tenter de l'exécuter .decode('utf-8'), et j'obtiens une erreur ('utf8' codec ne peut pas décoder les octets en position 1-4).

Vraiment mon but ici est juste de réussir à faire un type(valeur) rendement de l'unicode. J'ai trouvé un question précédente
que certains avaient des informations utiles, mais l'exemple de la de la cueillis réponse ne semble pas fonctionner pour moi. Est-il quelque chose que je fais de mal ici?

Voici un peu de code pour reproduire:

Name = 'w\xc3\xb6rner'.decode('utf-8')
file.write('Name: %s - %s\n' %(Name, type(Name)))

Je n'ai jamais réellement obtenir la radiation de la déclaration, parce qu'il échoue à la première instruction.

Merci pour votre aide.

Edit:

J'ai vérifié que la DB, charset est utf8. Donc dans mon code pour reproduire j'ai changé '\xf6' '\xc3\xb6', et la défaillance se produit encore. Est-il une différence entre 'utf-8' et 'utf8'?

La pointe sur l'utilisation de codecs pour écrire dans un fichier est à portée de main (je vais certainement l'utiliser), mais dans ce cas, je ne suis qu'un écrit dans un fichier journal à des fins de débogage.

Ce jeu de caractères utilisez-vous dans votre table de base de données? Je devine que ce n'est probablement pas de l'utf-8. Essayez de passage que pour decode à la place.

OriginalL'auteur Rob Lund | 2009-03-20