python3在linux下的编码错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3在linux下的编码错误相关的知识,希望对你有一定的参考价值。

$ python3 aaa.py 
ascii codec cant encode characters in position 162-165: ordinal not in range(128)

aaa.py 文件已经设置

#!/usr/bin/env python3
# coding = ‘utf-8‘

但执行总是报错

‘ascii‘ codec can‘t encode characters in position 162-165: ordinal not in range(128)

经过网上查询此种错误基本都是2.7环境中的问题,通过以下办法解决。
  1. # encoding=utf8  
  2. import sys  
  3.   
  4. reload(sys)  
  5. sys.setdefaultencoding(‘utf8‘)   

但我在python3环境下为什么一直错误呢?  

通过修改代码中的编解码中文等操作均无效,折腾半天考虑 有没有是linux语言环境变量的问题

检查当前shell环境

$ echo $SHELL

csh

检查语言环境变量

$ env |grep LANG
LANG=zh

 

将语言环境变量修改为

setenv LANG en_US.UTF-8

 

问题解决

 

以上是关于python3在linux下的编码错误的主要内容,如果未能解决你的问题,请参考以下文章

python3读文件编码错误怎么办

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

scrapy主动退出爬虫的代码片段(python3)

python3报编码错误

Python3.X Socket 一个编码与解码的坑

scrapy按顺序启动多个爬虫代码片段(python3)