【Centos】关于容器启动Centos7缺失字符集的问题

最近做一些软件测试和打包,需要频繁的装系统,索性用docker启Centos容器来做,基础镜像做好直接启就好,过程中遇到一个和字符集有关的问题,记录一下,方便遇到同样问题的小伙伴。

问题描述

运行某些python脚本时,出现了UnicodeDecodeError报错:
在这里插入图片描述
此时检查字符集:
在这里插入图片描述
在这里插入图片描述

只有三个,而且默认使用的是POSIX,这个时候通过yum安装也无效,许多帖子让reinstall glibc-common就能解决问题了,但是目前我尝试使用的centos7.9.2009镜像是无法解决的,需要进一步操作

解决方式

这里先检查/etc/yum.conf文件,查看是否有这一行:
在这里插入图片描述
如果有,把这行备注了或者执行:

yum-config-manager --setopt override_install_langs= --save
yum upgrade

随后再执行yum reinstall glibc-common,此时再查看字符集:在这里插入图片描述
这下ok了,然后再加到环境变量里:

echo 'export LANG=en_US.utf8' >> /root/.bashrc
echo 'export LC_ALL=en_US.utf8' >> /root/.bashrc

随后手动source就能生效了:

在这里插入图片描述

不加到/etc/profile中是因为我打镜像的时候Dockerfile没有专门指定加载/etc/profile,如果有指定,那就加到profile里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meepoljd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值