在我的代碼我不斷收到這個錯誤...Python除UnicodeError外?
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position 390: character maps to <undefined>
我試圖把一個除了UnicodeError和UnicodeEncodeError但沒有任何工程,問題是它的用戶輸入,所以我無法控制自己放什麼所以我需要的所有編碼錯誤顯示打印,上面寫着,而不是崩潰的程序錯誤...
try:
argslistcheck = argslist[0]
if argslistcheck[0:7] != "http://":
argslist[0] = "http://" + argslist[0]
with urllib.request.urlopen(argslist[0]) as url:
source = url.read()
source = str(source, "utf8")
except urllib.error.URLError:
print("Couln't connect")
source = ""
except UnicodeEncodeError:
print("There was an error encrypting...")
source = ""
回溯:
Traceback (most recent call last):
..... things leading up to error
File "C:\path", line 99, in grab print(source)
File "C:\Python33\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position 390: character maps to <undefined>
它更可能是您的程序的* output *導致錯誤; Unicode數據會自動編碼以匹配您的終端輸出編碼。你打印什麼或寫入文件?請包括該代碼和完整的追溯。 – 2013-02-24 21:27:59
是的,它可以打印源文件或將其保存到txt文件中......它只在特定的網站上執行,比如如果我在我的網站上執行它,那麼它不會,但是如果我使用http:// test執行它。 com /那麼它會。我只是不想讓程序崩潰。 – TrevorPeyton 2013-02-24 21:32:33
仔細觀察追蹤(最好與我們分享)。它告訴你*哪些操作失敗。 – 2013-02-24 21:34:08