簡體   English   中英

Python:字符編碼問題

[英]Python: Character encoding issue

我使用BeautifulSoup從網頁上抓取數據。 為了進行測試,我將所有內容輸出到控制台。 那里一切正常。 現在,我想將數據寫入文件,但是一段時間后出現以下錯誤:

UnicodeEncodeError:'latin-1'編解碼器無法在位置57編碼字符'\\ u0107':序數不在范圍內(256)

這個問題似乎是這封信:C

我使用以下代碼寫入文件:

 with open('data.txt', 'a',encoding='iso-8859-1') as f:
    f.write(text+'\n')

如果我將代碼的編碼更改為encoding='utf-8'則異常消失,但是書面文件中的特殊字符看起來不正確: Kuzmanović應該是Kuzmanović

您可以使用codecs通過unicode編寫文本,如下所示:

import  codecs
with codecs.open("data.txt", "a", encoding="utf-8") as f:
    f.write(text  + "\n")

我的問題是我想將數據保存到的文件沒有正確的編碼。 我用utf-8創建了新文件,然后就可以了。

最初,我應該確保創建的文件是UTF-8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM