Pythonのprint文で出力した文字が文字化けするときの対処法

環境

Python 3.10.1

事象

  • 日本語(マルチバイト)をprint分で出力すると、文字化けする
  • Windowsだと発生することがあるようです。

対処法

標準出力と標準エラー出力をutf-8で出力するようにencodingを指定するだけでOK

main.py

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

以上です

タイトルとURLをコピーしました