Python Set Encoding
2023-11-24
筆記在 Windows 作業環境如何調整 Python Encoding 設定,避免 cp950 decode 錯誤問題。
說明
確認目前的 Encoding:
import sys
stdin_encoding = sys.stdin.encoding
print("stdin Encoding:", stdin_encoding)
stdout_encoding = sys.stdout.encoding
print("stdout Encoding:", stdout_encoding)
default_encoding = sys.getdefaultencoding()
print("Python Default Encoding:", default_encoding)
設定方式
暫時性將 python 的 stdin, stdout 設定為 UTF-8 Encoding。
set PYTHONIOENCODING=utf8
python -X utf8 app.py > log.txt
藉由在作業系統設定環境變數,讓 python 在所有重新啟動後的 console 都使用 UTF-8 Encoding。
完成以下設定後,在使用 open 的方式開啟檔案,不需要特別指定 encoding 為 utf8。
setx PYTHONUTF8 1