python UnicodeEncodeError

用pycharm 编辑爬虫脚本,本地电脑python3环境可执行,服务器上python2环境无法执行,抛异常,异常如下:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1....

原因可能如下:python3 和python2使用的编码格式不相同

查看当前使用 python 编码

python2:

Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.getdefaultencoding()
'ascii'

python3:

Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

修改python2 编码为python3:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

所以,在你的程序执行的过程中,遇到上面的报错信息时。

可以将上面的三行代码加到Python程序的头部。

原文地址:https://www.cnblogs.com/fudou/p/8037119.html