我使用BeautifulSoup
从网页抓取数据。为了测试,我将所有内容输出到控制台。一切都很好。现在我想将数据写入文件,但在一段时间后得到以下错误:
UnicodeEncodeError:'latin-1'编解码器无法编码字符'\ u0107' 第57位:序数不在范围内(256)
问题似乎是这封信:ć
我使用此代码写入文件:
with open('data.txt', 'a',encoding='iso-8859-1') as f:
f.write(text+'\n')
如果我将代码的编码更改为encoding='utf-8'
,则异常消失,但写入的文件中的特殊字符看起来不对:Kuzmanović应该是Kuzmanović
答案 0 :(得分:0)
您可以使用codecs
以unicode编写文本:
import codecs
with codecs.open("data.txt", "a", encoding="utf-8") as f:
f.write(text + "\n")
答案 1 :(得分:0)
我的问题是我想保存数据的文件没有正确的编码。我使用utf-8创建了新文件,然后就可以了。
最初,我应该确保创建的文件是UTF-8。