Open1
Pycharm文字化け対策
困りごと
環境
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に)
- 設定からエディター→ファイルエンコーディングでグローバル・プロジェクトのエンコーディングを変更