[问题] 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