DjangoでUnicodeError(備忘録)。
・アブストラクト
Djangoでのwebアプリ作成途中で文字コードのエラーが出た。サクラエディタの設定から文字コードをutf-8に指定したらエラーを回避できた。
・本論
python3.6.5+django2.1.1でウェブアプリを作成していたところ、次のようなエラーが出て困りました。
"File "C:\Users\/...(中略)
..SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x83 in position 0:
invalid start byte"
しかしどうやら文字コードに問題があるらしいと踏んだ上でファイルを確認したところsetting.py, models.py, その他重要なファイルの文字コードがSJISになっていました。これはサクラエディタのデフォルト値で、サクラエディタで開いたファイルはSJISで保存されるらしいです。そこでSJIS→utf-8への変更をすべてのファイルに施すとエラーは無事改善されました。
具体的な手順を書いておきます。といっても単純で、エディタ画面右下のSJISをクリックするか、サクラエディタの設定から”文字コードセット設定”を選ぶと”文字コードを指定”ウィンドウが開くのでここでSJISからUTF-8に変更します。
pythonのUnicodeErrorはほかにも事例があり上記と同じエラーを経験した場合はその都度検証する必要ですが、「UnicodeError,Django」などで検索すると難解なunicode表がヒットして混乱すること必至です。同じエラーを経験している人もいるかもしれないので役立ててほしいと思います。
・conclusion
エディタの文字コード設定には気を配りましょう。
この記事が気に入ったらサポートをしてみませんか?