![見出し画像](https://assets.st-note.com/production/uploads/images/113832738/rectangle_large_type_2_33b780bc4f6e43a27ae0cc7816901341.jpeg?width=1200)
PyCharmエラー「LookupError: unknown encoding: windows-31j」の対処方法
日本語の Windows の上で PyCharm はプログラムを実行している時にこのようなエラーが起こります。
![](https://assets.st-note.com/img/1692505990303-vuUm0yE6DQ.png?width=1200)
このエラーの対処方法は簡単ですけど、毎度あった時しょっちゅう思い出せません。だから今回備忘録として書いておきます。
原因
エラーアウトプットをちょっと見れば原因が一目瞭然です。PyCharm は、ファイルの読み取り時に使用されるデフォルトエンコードは windows-31j ですが、このエンコード方式は Windows 10 以降に utf-8 に替わられました。でも JetBrains の IDE たちはそのまま windows-31j を使い続けていますので、ファイルを読み取り不可の場合がありますね。
対処方法
ソフトウェアのインストールディレクトリ(JetBrains\PyCharm\bin)に移動して、pycharm64.exe.vmoptions を編集します。
ファイルの最後にこのようなコードを追加:
-Dfile.encoding=UTF-8
編集後のファイルは多分こんな様子:
![](https://assets.st-note.com/img/1692506144859-O9QpShtOKj.png?width=1200)
保存して、PyCharm を再起動します。
![](https://assets.st-note.com/img/1692506161080-fcekRhhWcS.png?width=1200)
問題解決!