python 3 编码问题

情况:本地运行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

参考:
https://blog.csdn.net/TH_NUM/article/details/80685389

你可能感兴趣的:(杂——碰到问题)