Ci sono alcuni thread su stackoverflow, ma non sono riuscito a trovare una soluzione valida al problema nel suo complesso.Il codec 'ascii' non può codificare il carattere in posizione * ord non compreso nell'intervallo (128)
Ho raccolto enormi somme di dati testuali dalla funzione di lettura urllib e memorizzato nello stesso file di pickle.
Ora voglio scrivere questi dati in un file. errori durante la scrittura mi sto simili a -
'ascii' codec can't encode character u'\u2019' in position 16: ordinal not in range(128)
e un sacco di dati si sta perdendo.
Suppongo che i dati dal urllib lettura è byte di dati
Ho provato
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')
ma ancora im finendo con errori simili. Qualcuno può indicare una soluzione adeguata. E anche i codec dovrebbero funzionare. Non ho problemi se i byte di conflitto non vengono scritti nel file come stringa, quindi la perdita viene accettata.
Potete mostrare che cosa è in 'Text'? –