当前位置: 代码迷 >> 综合 >> Python3中,UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in range(128)
  详细解决方案

Python3中,UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in range(128)

热度:37   发布时间:2023-12-12 08:55:14.0

文章目录

  • 前言
  • 正文

前言

最近又遇到了一些未知的bug,比如nohup的时候报错,查了有一堆跟这个差不多的,但是重新定义标准输出后不报错,nohup输出文件里却没有,记录一下这个问题的解决

正文

首先查看当前环境的输出编码

import sys
sys.stdout.encoding

正常应该是 utf-8,但是出bug的环境是’ANSI_X3.4-1968’,python=3.6,所以是输出编码有问题。
首先可以查看操作系统可用语言环境
locale -a
看看有没有中文的语言

zh_CN.utf8
zh_SG.utf8

通过这个命令安装
sudo apt-get -y install language-pack-zh-hans
然后可以新建一个 python=3.7 的环境,但是有人说直接新建 python=3.7 的环境强制是utf-8输出,这个读者自行尝试吧。

  相关解决方案