[問題] Windows重導向stdout至檔案發生編碼錯誤

作者: danny0838 (道可道非常道)   2018-01-18 22:21:05
如題,假設程式碼是:
test.py
print('含有简体字的中文')
在 Windows 上直接執行 test.py 沒問題,
但如果在執行 test.py > test.log 就會發生錯誤:
UnicodeEncodeError: 'cp950' codec can't encode character '\u7b80'
in position 2: illegal multibyte sequence
請教各位大大,該如何調整程式碼,
才能做到直接執行能看到正常輸出,
且重導向 stdout 至檔案時也能正確寫入呢?
作者: uranusjr (←這人是超級笨蛋)   2018-01-18 23:50:00
設環境變數 PYTHONIOENCODING="utf-8"(程式碼不用動, 是執行環境要調整)

Links booklink

Contact Us: admin [ a t ] ucptt.com