我使用BeautifulSoup
从网页中抓取数据。为了测试,我将所有内容输出到控制台。一切工作正常。现在我想将数据写入到文件中,但一段时间后收到以下错误:Python:字符编码问题
UnicodeEncodeError: 'latin-1' codec can't encode character '\u0107' in position 57: ordinal not in range(256)
这个问题似乎是这封信:ć
我用这个代码写入文件:
with open('data.txt', 'a',encoding='iso-8859-1') as f:
f.write(text+'\n')
如果我更改代码的编码encoding='utf-8'
异常消失,然而在写书面文件看上去是错误的特殊字符:Kuzmanović应库兹曼诺维奇
我想我的问题是我想保存数据的文件没有正确的编码。我用utf-8创建了新文件,现在它似乎可以工作。我肯定会回来报告。 – beta
如果将文件保存为'utf-8',那么您必须告诉打开该文件的工具使用UTF-8,或者将其设置为使用UTF-8作为默认值(如果可能的话)。 –