エラー内容
UnicodeDecodeError
'utf-8' codec can't decode byte 0x83 ...
環境
Python:3.6.3
Django:1.11.12
開発環境:Windows7 32bit
実行環境:Windows7 32bit & IIS7.5
事象
開発環境にて機能改修を行った。その後、実行環境へソースコードをコピーし、実行環境のwebサービスを呼び出したところ、上記エラーが表示された。
原因と対策
エラー内容は、ソースコードをutf-8に変換できないことを示している。つまり、ソースコードファイルがutf-8で保存されていない。問題のあるファイルを正しくutf-8で保存してあげればよい。
まずエラー画面下部を見て、問題が発生しているファイル名を見つける。
以下の例だと、app\loginparcial.htmlというファイルがおかしい模様。
問題のファイルをテキストエディタで開く。
例では、フリーソフトのエディタ「Mery」を使用している。
ウィンドウフッタを見れば、シフトJISで保存されていることが分かる。
エディタの「名前をつけて保存」を行う。この時、エンコードを「UTF-8」に変える。ファイル名は同じままで上書き保存すればよい。