当前位置:   article > 正文

解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position..._unicodeencodeerror: 'ascii' codec can't encode cha

unicodeencodeerror: 'ascii' codec can't encode characters in position 0-6: o

解决UnicodeEncodeError: 'ascii' codec can't encode characters in position...

在容器中使用 python3,如果没有做合适的配置,使用 print(“中文内容”)会出现编码问题,比如在控制台输出汉字会报错或输出了“乱码”,一般来说是因为 python3输出环境没有配置好 utf-8编码的原因,解决据说有多个,其中一个解决方法是在python 用代码就可以实现,也很容易,就是添加这样的代码:

sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
  • 1

但是这个代码是有问题,因为它把缓存停了,输出不会立即显示;
怎么办,其实这样就可以了:

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding="utf8",line_buffering=True)
  • 1
  • 2
  • 3
  • 4

好用!

另一好用的方法是直接在终端中运行如下命令:
export PYTHONIOENCODING=UTF-8
然后再运行python 执行 py 文件就可以;

https://www.codenong.com/984014/

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号