'ascii' codec ne peut pas encoder les caractères à la position * ord pas in range(128)

Il y a quelques fils sur stackoverflow, mais je ne pouvais pas trouver une solution valable pour l'ensemble du problème.

J'ai recueilli des sommes énormes de données textuelles de la urllib la fonction de lecture et stockées dans la saumure fichiers.

Maintenant, je veux écrire ces données dans un fichier.
Lors de l'écriture j'ai des erreurs similaires à

'ascii' codec can't encode character u'\u2019' in position 16: ordinal not in range(128)

et un grand nombre de données est perdue.

Je suppose que les données de la urllib lire est un octet de données

J'ai essayé

   1. text=text.decode('ascii','ignore')
   2. s=filter(lambda x: x in string.printable, s)
   3. text=u''+text
      text=text.decode().encode('utf-8')

mais encore im de se retrouver avec des erreurs similaires.
Quelqu'un peut-il point une bonne solution.
Et codecs bande de travail.
Je n'ai pas de questions si le conflit octets ne sont pas écrites dans le fichier comme une chaîne, d'où la perte est accepté.

Pouvez-vous montrer ce qui est dans text?

OriginalL'auteur minocha | 2013-03-12