【Python】PyCharm 会出现 "UnicodeEncodeError: 'ascii' codec can't encode characters" 错误

解决:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 1-2: ordinal not in range(128) 问题

  • 解决:设置系统的默认编码为utf-8:
  1. import sys
  2.  
  3. reload(sys)
  4. 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’ 问题

  • 原因分析:
  1. Python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在了
  • 解决:
  1. 去掉,sys.setdefaultencoding


 PyCharm 会出现 UnicodeEncodeError: ‘ascii’ codec can’t encode characters 错误

  • 原因分析:由上面两个错误可以看出
  1. 直接“ Run ”会导致变量里的非 ASCII 字符无法通过 write()写入文件,但是变量里的非 ASCII 字符可以通过 print()显示
  2. 如果在间接的在 PyCharm 里的 Terminal 运行’python3 ./main.py‘会导致变量里的非 ASCII 字符无法通过 print()显示


  • 解决:真正诡异的是,这段代码可以正常运行在 zsh 里



点赞