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として開きたいので、そのディレクトリだけ直接指定(下の+ボタンで個別追加)
これで解消できました。
'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として開きたいので、そのディレクトリだけ直接指定(下の+ボタンで個別追加)
これで解消できました。
コメント