pythonでテスト実行した際、EUC-JP使ってないのに、INTERNALERROR> UnicodeEncodeError:
'euc_jp'... っていうエラーがでた

はい、pythonでプログラムを書いてるのですが、未だによくわからないことが発生します。
今回のお題はこちら。

テスト実行したら、こんなんが出た。

INTERNALERROR> UnicodeEncodeError: 'euc_jp' codec can't encode
character '\u9ad9' in position xx: illegal multibyte sequence

●環境
プログラム:python 3.7
エディタ:IntelliJ
テスト環境:IntelliJ組み込みのpytest

●文字コード
テスト対象、テスト用プログラム両方ともUTF-8

●テスト内容
特殊文字のテストもしたかったので、髙(通称、はしごだか)を入れた


テスト実行してみたところ、上記のようなエラーが出ました。
\u9ad9は「髙」なので、これをEUC-JPにしようとしてエラーになりました、とのことなのですが、
そもそもプログラム全部UTF-8なのに? と。

結論から書きますが、IntelliJの基本設定をEUC-JPに変更していることが原因でした。

●設定
[IntelliJ]-[Preferences]-[Editor]-[FileEncodings]

ここのProjectEncodingが「EUC-JP」になっていました。
(デフォルトはUTF-8っぽいのですが、読み込むファイルがEUC-JPが多かったので、変更していたことが原因です。


●解消方法
1.ProjectEncodingは「SystemDefault: UTF-8」に戻します。
2.良く開くファイルはやはりEUC-JPとして開きたいので、そのディレクトリだけ直接指定(下の+ボタンで個別追加)

これで解消できました。