環境
Python 3.10.1
事象
- 日本語(マルチバイト)をprint分で出力すると、文字化けする
- Windowsだと発生することがあるようです。
対処法
標準出力と標準エラー出力をutf-8で出力するようにencodingを指定するだけでOK
import io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
以上です
まとめ
いかがでしたでしょうか。本記事では、Pythonのprint分で出力した文字が文字化けするときの対処法について紹介しています。結論としては、標準出力と標準エラー出力をutf-8で出力するようにencodingを指定するだけで文字化けを防止することが可能です