Open1

Pycharm文字化け対策

pettanpettan

困りごと

環境

Windows11 64Bit
Pycharm 2022.2 Pro
Python3.10

Pycharm他 JetbrainsのConsoleがおかしい

日本語を打つと、Python内でCP932として解釈されるのか文字化けする
「文字化けした日本語のテキストの例」と打つと、「???????????????{???̃e?L?X?g?̗?」と出てくる。
Per. https://magicant.github.io/techmemo/mojibake.html (神のサイト)

原因

おそらく、Python側でのDefault Encodingは、CP932になっている。
下記のコードで確認すると、全て、憎っくき"cp932"で返事がある。

print ('sys.stdin.encoding:', sys.stdin.encoding)
print ('sys.stdout.encoding:', sys.stdout.encoding)
print ('sys.stderr.encoding:', sys.stderr.encoding)

というわけで、ioに強制的にutf-8を設定。

sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')

やったこと(うまくいかなかった)

  • カスタムVMオプションの設定
  • 設定からエディター→一般→コンソールでデフォルトエンコーディングを変更(UTF-8に)
  • 設定からエディター→ファイルエンコーディングでグローバル・プロジェクトのエンコーディングを変更