centos ubuntu系列中文乱码解决

参考:

https://www.php.cn/centos/487608.html (php)
https://cloud.tencent.com/developer/article/1915368

环境:centos7系统、华硕电脑。

centos7终端中文乱码的解决办法概览
1、查看服务器编码;
2、查看终端xshell编码;
3、设置“export LANG=”zh_CN.UTF-8””;
4、重启服务器即可。

image-20230810180226938

一. centos7中文

1.检查

1
2
3
4
5
6
7
8
# 查看服务器编码命令
echo $LANG
# 查看是否有中文语言包
locale -a
# 安装中文语言包
yum groupinstall "fonts" -y
# 验证
locale -a |grep "zh_CN"

2.查看终端xshell编码

image-20230810181108676

如果以上的三点依旧保持一致,而依旧乱码的情况,继续阅读

3.编辑文件

1
2
3
4
5
6
7
8
9
10
# 编辑文件
vi /etc/sysconfig/i18n
# 粘贴以下文本
LANG="zh_CN.UTF-8"
# 配置环境变量
vi /etc/profile
# 粘贴以下文本
export LANG="zh_CN.UTF-8"
# 生效
source /etc/profile

4.重启服务器等

image-20230810181319452

二. ubuntu18.04中文乱码解决

1.分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看服务器编码命令
echo $LANG
# 可用语言环境
locale -a
# 查看是否有我们需要的语言
locale -a |gerp "en_US.UTF-8"
# 如果没有 en_US.UTF-8 则安装
locale-gen en_US.UTF-8
# 永久更改编码,运行以下命令。 注意 如果是 docker 容器,重启会无效
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
# docker 镜像 运行以下代码
echo "export LC_ALL=en_US.UTF-8" >> /root/.bashrc
# 要让刚才的修改马上生效,需要执行以下命令 完成
source /etc/profile

2.编写脚本解决中文乱码:(生产环境勿用 >> 执行代码bash 1.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
# 解决中文乱码
set -e
echo "查看现有语言环境 如果没有 en_US.UTF-8 则安装"
locale && locale-gen en_US.UTF-8
echo "可用语言环境"
locale -a
echo "永久更改编码,运行以下命令"
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
echo "docker 镜像 运行以下代码 解决中文乱码"
echo "export LC_ALL=en_US.UTF-8" >> /root/.bashrc
echo "生效"
sleep 2
source /etc/profile

结语fighting!