情况:本地运行ok,部署到服务器上,出现错误,python版本3.x(2.x的处理方式不同,这里只介绍3的解决办法):
‘ascii’ codec can’t encode character ‘\u8ddf’ in position 0: ordinal not in range(128)
原因编码问题:
查看系统环境编码
>>> import sys
>>> sys.stdout.encoding
'US-ASCII'
修改方式:
1、
编辑~/.bash_profile文件(’~’指的是用户登录后的默认目录),添加一行:
export LANG=”en_US.UTF-8”
2、代码中增加以下内容
import sys
import codecs
sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout.detach())
3、
PYTHONIOENCODING=utf-8 python xx.py