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

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

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

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

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

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding="utf8",line_buffering=True)

好用!

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值