尽管Python 3.8在Windows上也应使用UTF-8 (PEP-0528 PEP-0529), 一个仍然得到
UnicodeEncodeError: 'charmap' codec can't encode character '\u251c' in position 0: character maps to <undefined>
该异常发生在cp1252.py
中。
示例代码(t.py
):
print(b'\xe2\x94\x9c'.decode('utf-8'))
print(b'\xe2\x94\x94'.decode('utf-8'))
print(b'\xe2\x94\x80'.decode('utf-8'))
print(b'\xe2\x94\x82'.decode('utf-8'))
python t.py
不会发生这种情况,
但发生在配管时
python t.py | python -c "import sys; print(sys.stdin.read())"
或转发到文件(python t.py > t.txt
)。