Django2.2 報錯:UnicodeDecodeError 解決方法

Wonz發表於2020-12-14

Django2.2報錯:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xa6 in position 9737: illegal multibyte sequence

一、問題復現

File “D:\Python\Python37-32\lib\site-packages\django\views\debug.py”, line 332, in get_traceback_html

t = DEBUG_ENGINE.from_string(fh.read())

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: illegal multibyte sequence

二、解決方法

開啟 django/views 下的 debug.py 檔案,轉到 line331 行:

with Path(CURRENT_DIR, 'templates', 'technical_500.html').open() as fh

將其改成:

with Path(CURRENT_DIR, 'templates', 'technical_500.html').open(encoding="utf-8") as fh

第 338 行相同位置可能也需要修改 encoding

這樣就成功解決了。

相關文章