エラー内容

UnicodeDecodeError

'utf-8' codec can't decode byte 0x83 ...

decode1.PNG

環境

Python:3.6.3
Django:1.11.12
開発環境:Windows7 32bit
実行環境:Windows7 32bit & IIS7.5

事象

開発環境にて機能改修を行った。その後、実行環境へソースコードをコピーし、実行環境のwebサービスを呼び出したところ、上記エラーが表示された。

原因と対策

エラー内容は、ソースコードをutf-8に変換できないことを示している。つまり、ソースコードファイルがutf-8で保存されていない。問題のあるファイルを正しくutf-8で保存してあげればよい。

まずエラー画面下部を見て、問題が発生しているファイル名を見つける。
以下の例だと、app\loginparcial.htmlというファイルがおかしい模様。

decode2.PNG

問題のファイルをテキストエディタで開く。
例では、フリーソフトのエディタ「Mery」を使用している。
decode3.PNG
ウィンドウフッタを見れば、シフトJISで保存されていることが分かる。

エディタの「名前をつけて保存」を行う。この時、エンコードを「UTF-8」に変える。ファイル名は同じままで上書き保存すればよい。
decode4.png

ウィンドウフッタのエンコードがUTF-8に変わった。
decode5.PNG

webサービスを呼び出すと、ページが正しく表示された。
decode6.PNG

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.