解决:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2: ordinal not in range(128) 问题
- 解决:设置系统的默认编码为utf-8:
- import sys
- reload(sys)
- sys.setdefaultencoding('utf-8')
解决:NameError: name 'reload' is not defined
问题
对于 Python 2.X:
- 1
- 2
- 3
对于 <= Python 3.3:
对于 >= Python 3.4:
- 1
- 2
解决:AttributeError: module 'sys' has no attribute 'setdefaultencoding' 问题
- 原因分析:
Python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在了
- 解决:
去掉,sys.setdefaultencoding
PyCharm 会出现 UnicodeEncodeError: 'ascii' codec can't encode characters 错误
- 原因分析:由上面两个错误可以看出
- 直接“ Run ”会导致变量里的非 ASCII 字符无法通过 write()写入文件,但是变量里的非 ASCII 字符可以通过 print()显示
- 如果在间接的在 PyCharm 里的 Terminal 运行'python3 ./main.py'会导致变量里的非 ASCII 字符无法通过 print()显示
- 解决:真正诡异的是,这段代码可以正常运行在 zsh 里