2013-07-12 17 views
5

Ho un problema con la scrittura su file in unicode. Sto usando Python 2.7.3. Mi dà un errore del genere:UnicodeEncodeError: il codec 'charmap' non può codificare le mappe dei caratteri dei caratteri su <undefined>

UnicodeEncodeError: 'charmap' codec can't encode character u'\u2019' in position 1006: character maps to <undefined> 

Ecco un esempio del mio codice: errore è on line: f3.write (testo)

f = codecs.open("PopupMessages.strings", encoding='utf-16') 
text = f.read() 
print text 
f.close() 

f3 = codecs.open("3.txt", encoding='utf-16', mode='w') 
f3.write(text) 
f3.close() 

Ho cercato di usare 'utf-8' e anche 'utf-8-sig', ma non mi ha aiutato. Ho questi simboli nel mio file sorgente da leggere: ['\ ",;? * & $ # @%] e simboli in diverse lingue Come posso risolvere questo problema? Per favore aiuto, leggo prima le informazioni su stackoverflow, ma non mi ha aiutato

+0

Quale piattaforma stai usando (Windows, Mac OS, Linux, ...) –

+0

io sia? usando Windows 7 x64 – yozhik

+4

Non penso che l'errore sia in 'f3.write (text)'. Penso che l'errore sia in 'print text'. http://wiki.python.org/moin/PrintFails – bobince

risposta

0

eliminare questa linea:.

print text 

e dovrebbe funzionare