作者danny0838 (道可道非常道)
看板Python
标题[问题] Windows重导向stdout至档案发生编码错误
时间Thu Jan 18 22:21:05 2018
如题,假设程式码是:
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 至档案时也能正确写入呢?
--
《终结内容农场》浏览器套件
Firefox:
https://mzl.la/2g0I0ry (桌机 & Android 手机)
Chrome:
http://bit.ly/2wDWWyP
真相1:
https://i.imgur.com/JKPzD1L.png
真相2:
https://i.imgur.com/WTHmuVJ.png
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.226.168
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1516285270.A.B10.html
※ 编辑: danny0838 (111.243.226.168), 01/18/2018 23:05:57
1F:→ uranusjr: 设环境变数 PYTHONIOENCODING="utf-8" 01/18 23:50
2F:→ uranusjr: (程式码不用动, 是执行环境要调整) 01/18 23:50