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)
検証環境
- Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 1809 OS Build 17763.439