简单地说,以下代码:
f.write(u'Río Negro')
引发以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 1: ordinal not in range(128)
我该怎么办? 我正在使用Python 2.7.3。
答案 0 :(得分:5)
import codecs
with codecs.open('file.txt', 'w', encoding='utf-8') as f:
f.write(u'Río Negro')
在Python 3中,此功能内置于the standard open
function:
with open('file.txt', 'w', encoding='utf-8') as f:
f.write(u'Río Negro')
答案 1 :(得分:4)
您需要对字符串进行编码。试试这个:
f.write(u'Río Negro'.encode('utf-8'))