轉載請註明出處:
python除錯時遇到的兩個相同的編碼錯誤進行總結:
1.錯誤:Cannot decode using encoding "ascii", unexpected byte at position
具體 錯誤資訊如下:
2.錯誤:SyntaxError: Non-ASCII character
當程式檔案中,存在中文字元時候,檔案未宣告編碼格式就會出現報錯資訊:
target_td = soup.find('a', string='香吧香')
3.以上兩個錯誤的解決辦法:
以上兩個錯誤
解決這個問題的方法是,需要在Python指令碼的最開始一行,加入一句 # -*- coding: utf-8 -*-
或者 #coding=UTF-8
,這樣Python就會使用UTF-8編碼來解析指令碼。例如:
# -*- coding: utf-8 -*-
# or
#coding=UTF-8
這兩行程式碼告訴Python,你的指令碼使用的是UTF-8編碼,所以Python就會使用UTF-8編碼來解析你的指令碼,而不是預設的ASCII編碼。
需要注意的是,指令碼檔案必須真的使用UTF-8編碼,否則Python仍然會丟擲這個錯誤。可以使用文字編輯器的“儲存為”功能,選擇UTF-8編碼來儲存你的指令碼檔案。