您的位置:首页 > 编程语言 > Python开发

'latin-1' codec can't encode characters问题

2017-09-05 20:37 274 查看
今天在解析requests的响应内容时遇到了一个编码问题:

UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 0-1: ordinal not in range(256)

查了很久调用requests()时的编码仍然没有效果,最后发现是因为系统的语言环境不支持UTF-8,,这是我出错时的语言环境:

$ locale

LANG=en_US

LC_CTYPE=”en_US”

LC_NUMERIC=”en_US”

LC_TIME=”en_US”

LC_COLLATE=”en_US”

LC_MONETARY=”en_US”

LC_MESSAGES=”en_US”

LC_PAPER=”en_US”

LC_NAME=”en_US”

LC_ADDRESS=”en_US”

LC_TELEPHONE=”en_US”

LC_MEASUREMENT=”en_US”

LC_IDENTIFICATION=”en_US”

LC_ALL=

执行
export LANG=en_US.UTF-8
改为下面这样就正常了

$ locale

LANG=en_US.UTF-8

LC_CTYPE=”en_US.UTF-8”

LC_NUMERIC=”en_US.UTF-8”

LC_TIME=”en_US.UTF-8”

LC_COLLATE=”en_US.UTF-8”

LC_MONETARY=”en_US.UTF-8”

LC_MESSAGES=”en_US.UTF-8”

LC_PAPER=”en_US.UTF-8”

LC_NAME=”en_US.UTF-8”

LC_ADDRESS=”en_US.UTF-8”

LC_TELEPHONE=”en_US.UTF-8”

LC_MEASUREMENT=”en_US.UTF-8”

LC_IDENTIFICATION=”en_US.UTF-8”

LC_ALL=

以此记录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编码 utf-8 python3