[Python3]printで文字化けするので、文字コードを変更したい

io.TextIOWrapper を使用します。

サンプルコード

次の例では、標準出力(stdout)と標準エラー出力(stderr)へ、utf-8 で出力します。
import io
import sys

# printの出力結果をUTF-8に
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')


print('標準出力(stdout)へ、utf-8で出力')
print('標準エラー出力(stderr)へ、utf-8で出力', file=sys.stderr)

検証環境

関連ページ