Python Set Encoding

2023-11-24

筆記在 Windows 作業環境如何調整 Python Encoding 設定,避免 cp950 decode 錯誤問題。

logo

說明

確認目前的 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