Help us understand the problem. What is going on with this article?

PythonでUnicodeDecodeErrorが出る

More than 1 year has passed since last update.

エラー内容

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away