我编写了以下代码,用于将内容写入文件,
with codecs.open(name,"a","utf8") as myfile:
myfile.write(str(eachrecord[1]).encode('utf8'))
myfile.write(" ")
myfile.write(str(eachrecord[0]).encode('utf8'))
myfile.write("\n")`
上面的代码在编写单代码字符时无法正常工作....即使我正在使用编解码器并进行编码。我一直收到错误
UnicodeEncodeError:'ascii'编解码器无法对位置6中的字符u'\ xe1'进行编码:序数不在范围内(128)
任何人都可以看到我做错了吗?
修改:
with codecs.open(name,"a","utf8") as myfile:
myfile.write(unicode(eachrecord[1]))
myfile.write(" ")
myfile.write(unicode(eachrecord[0]))
myfile.write("\n")
这很有效。感谢所有的快速评论和答案..这真的很有帮助..我没有意识到python有'unicode'选项,直到你们告诉我
答案 0 :(得分:2)
删除str()
来电。他们使用默认编码进行隐式编码(在这种情况下为ascii
)。