一次重启服务器后,supervisor接管的python脚本中的函数open()和print()都会报下面的编码错误:

UnicodeEncodeError: 'ascii' codec can't encode

使用的是python3,按理说编码都会默认utf-8,而且本地运行的python脚本并没有这个问题。

经大佬指点,增加环境变量export LC_ALL="en_US.UTF-8"后,再重启supervisor,问题解决

LC_ALL相关信息:

1.Locale说明

Locale是一个软件在运行时的语言环境,。是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的。它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。

一个locale的书写格式为: 语言[地域[.字符集]]。完全的locale表达方式是 [语言[地域][.字符集] [@修正值]。例如:

zh_CN.GB2312 => 中文_中华人民共和国+国标2312字符集。

2.Locale查看

(1)locale把按照所涉及到的文化传统的各个方面分成12个大类

[root@TDExpress1620_Sles11:~]$ 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" #对locale自身包含信息的概述

LC_ALL=en_US.UTF-8

(2)查看标准字符集列表

[root@TDExpress1620_Sles11:~]$ locale -a

zh_CN

zh_CN.gb18030

zh_CN.gbk

zh_CN.utf8

zh_HK

zh_HK.utf8

zh_SG

zh_SG.gbk

zh_SG.utf8

zh_TW

zh_TW.euctw

zh_TW.utf8

zu_ZA

zu_ZA.utf8

常用字符集:en_US.utf8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等

3.Locale的设定

LC_ALL和LANG优先级的关系:LC_ALL > LC_* >LANG

(1)如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX即可。或者设定LANG=zh_CN.XXXX也可以,但是LC_不要有任何特殊设定才可以(因为LC_优先级高)。

(2)如果需要个性化的环境,例如只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定LANG=en_US.XXXX,然后 LC_CTYPE=zh_CN.XXXX就可以了。

(3)假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。

4.查看与设定字符集实践

(1)查看当前系统字符集三种方式(LC_ALL、LC_CTYPE和LANG),以查看LANG为例:

[root@TDExpress1620_Sles11:~]$ echo $LANG

en_US.UTF-8 [root@TDExpress1620_Sles11:~]$ env |grep -i LANG

LANG=en_US.UTF-8 [root@TDExpress1620_Sles11:~]$ locale |grep -i LANG

LANG=en_US.UTF-8

(2)更改系统字符集

export LANG=

或者

export LC_ALL=

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

(3)取消当前系统字符集(设定为空)

unset LANG

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

linux 运行python 看不到异常信息_linux python运行报编码错误相关推荐

  1. linux 运行python 看不到异常信息_Linux异常解决:/usr/bin/env python\r no such file or directory...

    我有两台电脑,一台win10系统,一台Liunx系统.今天在win10上面写了一个ROS程序,拷贝到Linux上面,执行rosrun命令出现异常信息/usr/bin/env python\r no s ...

  2. linux查询tcp异常,linux服务器内存cpu 流量tcp异常信息记录python脚本

    #!/usr/bin/python #coding:utf-8 import commands import os import re import datetime #if mem util > ...

  3. Python traceback 模块, 打印异常信息

    Python traceback 模块, 打印异常信息 参考文章: (1)Python traceback 模块, 打印异常信息 (2)https://www.cnblogs.com/xudong-b ...

  4. set ff=unix linux报编码错误直接vi

    linux报编码错误直接vim文件 查看编码:set ff 设置编码 :set ff=unix 然后保存 unix编码 更多编码就替换 ok在执行

  5. Linux:査看文件的详细信息

    导读 Linux中stat是査看文件详细信息的命令. 1.命令格式: stat [选项] 文件名/目录名 2.选项: -f:査看文件所在文件系统信息,而不是査看文件信息. 3. 案例 案例1:査看文件 ...

  6. python中traceback获取异常信息

    在日常工作中,我们常常会碰到异常,我们想在异常发生的时候,不但能显示异常发生的位置,还能看到异常方法被调用的堆栈信息,在python中怎么实现呢? 实际上python提供了一个traceback来实现 ...

  7. 自学python看什么书-如何系统地自学 Python?

    0709更: 上周旁听了一个大学学长组织的线上Python交流会,里边不乏充斥着各位行业大牛,讲的内容确实精彩,可能对于Python经验5年+的人来说,是受益匪浅,欢迎程度极高,恨不得跳出屏幕来表示赞 ...

  8. 想学python看什么书-请问想学python和JAVA得看什么书?

    很多Python大佬都建议去Python官网看documentation,觉得那才是最新最有用的,这点小编并不否认,但是对于英语不太好的小伙伴们或者尚未接触过编程的小白来说,那就相当于看天书一样难啦~ ...

  9. 零基础学python看什么书-零基础学python推荐几本python学习的书籍

    原标题:零基础学python推荐几本python学习的书籍 无论是否已经学习了一些其他的编程语言,在开始学习Python时,都应该先从Python的基本概念学起,这样在之后的编程实战中就能尽量减少因为 ...

最新文章

  1. html 清除float,css中如何清除float
  2. 深入浅出JProfiler
  3. wxWidgets:工具栏概述
  4. mui的学习图片预览
  5. 按群计数10以内_【乐玩乐学】有趣的计数活动
  6. 苦逼的程序员怎么发展
  7. C# 调用命令行,参数有空格
  8. 机器学习专题(二):2.1机器学习的数据
  9. mysql中的on的执行顺序_MySQL -- join , on , where 的执行顺序
  10. D-GAN用于时空预测的深度生成对抗网络
  11. 谈中国分布式数据库商业之路:OSM与DB-Inside
  12. Ubuntu20破解管理员root密码忘记密码找回
  13. Mac上制作Linux U盘启动盘
  14. 【离散数学】第二章 笔记(完)
  15. 这5个“计算机专业”就业很吃香,毕业生需求量大,还不会过时
  16. Ubuntu 命令大全 Ubuntu技巧 (转)
  17. android 7.1快捷方式App Shortcuts
  18. 如何开发一款前端工具
  19. 给通信专业研究生——安心完成培养,你不是在劣势下和计算机学生抢饭碗来的
  20. 服务器看门狗芯片电路图,SP706看门狗芯片SP706应用电路图.pdf

热门文章

  1. Docker镜像加速,设置国内源
  2. 我曾七次鄙视自己的灵魂
  3. 结对编程小项目实现 Python+PyQt5+OOP
  4. Flask入门flask-script 蓝本 钩子函数(三)
  5. VMware Workstation Pro 14.1.1 正式版
  6. [译]WPF 应用程序和MVVM设计模式 ——Josh Smith
  7. 一些关于“数据挖掘介”技术的有用文档
  8. 4G网络在物联网应用中的重要性
  9. 20181013xlVba导入成绩
  10. mysqldump 和 sql命令导入sql文件