欢迎光临千百叶网
详情描述

CentOS/Linux 设置中文语言和解决乱码的方法如下:

一、CentOS 7/8 设置中文语言

1. 查看当前语言环境

# 查看当前系统语言
echo $LANG
locale

# 查看已安装的语言包
locale -a

2. 安装中文语言包

# CentOS 7
yum install -y langpacks-zh_CN
yum install -y glibc-common

# CentOS 8
dnf install -y langpacks-zh_CN glibc-langpack-zh

# 安装字体包(重要,解决乱码)
yum install -y wqy-microhei-fonts wqy-zenhei-fonts

3. 设置系统语言

# 方法1:临时生效(仅当前会话)
export LANG=zh_CN.UTF-8

# 方法2:永久生效(用户级)
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc

# 方法3:永久生效(系统级)
localectl set-locale LANG=zh_CN.UTF-8
# 或编辑配置文件
vim /etc/locale.conf
# 添加或修改为:
LANG="zh_CN.UTF-8"

4. 重启系统或重新登录

# 使语言设置生效
reboot
# 或
logout  # 重新登录

二、解决中文乱码问题

1. 确保编码为 UTF-8

# 检查系统编码
locale

# 正确输出应包含:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"

2. 安装完整的中文字体

# 安装常用中文字体
yum install -y \
    fonts-chinese \
    cjkuni-ukai-fonts \
    cjkuni-uming-fonts \
    adobe-source-han-sans-cn-fonts \
    adobe-source-han-serif-cn-fonts

3. SSH客户端设置

  • Xshell/Putty:设置字符编码为 UTF-8
  • SecureCRT:外观 → 字符编码 → UTF-8
  • MobaXterm:Settings → Terminal → Font → 选择中文字体

4. 修改终端编码

# 修改终端配置文件
vim /etc/sysconfig/i18n
# 添加:
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"

5. 检查并生成 locale

# 检查中文 locale 是否可用
locale -a | grep zh_CN

# 如果不存在,生成中文 locale
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

6. 数据库连接乱码解决

# MySQL 连接时指定编码
mysql -u root -p --default-character-set=utf8

# 在 my.cnf 中添加:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

三、快速一键设置脚本

#!/bin/bash
# 保存为 chinese_setup.sh,执行:bash chinese_setup.sh

echo "开始设置中文环境..."

# 安装语言包和字体
if grep -q "release 7" /etc/centos-release; then
    yum install -y langpacks-zh_CN glibc-common
    yum install -y wqy-microhei-fonts
elif grep -q "release 8" /etc/centos-release; then
    dnf install -y langpacks-zh_CN glibc-langpack-zh
    dnf install -y wqy-*fonts
fi

# 设置系统语言
localectl set-locale LANG=zh_CN.UTF-8
echo "LANG=zh_CN.UTF-8" > /etc/locale.conf

# 生成中文 locale
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

echo "设置完成!请重新登录或重启系统。"

四、验证设置

# 验证1:查看语言设置
echo $LANG
locale

# 验证2:显示中文测试
echo "中文测试" > test.txt
cat test.txt

# 验证3:查看日期中文显示
LANG=zh_CN.UTF-8 date

# 验证4:检查字体
fc-list :lang=zh

五、注意事项

优先级问题/etc/locale.conf 优先于用户环境变量 SSH客户端:必须设置为 UTF-8 编码 服务应用:某些服务可能需要重启才能应用新语言 最小化安装:如果是最小化安装,可能需要先安装更多语言包 容器环境:Docker 容器需要在基础镜像中安装语言包

如果仍有乱码,请检查:

  • SSH 客户端的编码设置
  • 文件本身的编码格式(可使用 file -i filename 查看)
  • 应用程序的编码配置
相关帖子
家中有人不慎触电,第一时间切断电源后应遵循怎样的救护原则?
家中有人不慎触电,第一时间切断电源后应遵循怎样的救护原则?
哪些因素可能导致雪地靴在冬季行走时产生不跟脚现象?
哪些因素可能导致雪地靴在冬季行走时产生不跟脚现象?
如何正确理解和区分“工作日限行”与“早晚高峰限行”对外地车的影响?
如何正确理解和区分“工作日限行”与“早晚高峰限行”对外地车的影响?
乐清市小贷公司%私家车子抵押个人大额应急贷款-房产二押贷款
乐清市小贷公司%私家车子抵押个人大额应急贷款-房产二押贷款
乐清市住房一押二押银行贷款&汽车抵押借款押绿本|企业主银行抵押贷款
乐清市住房一押二押银行贷款&汽车抵押借款押绿本|企业主银行抵押贷款
宁河房产证抵押贷款-个人房产银行贷款,小额银行信用贷款
宁河房产证抵押贷款-个人房产银行贷款,小额银行信用贷款
将Perl5代码迁移到Perl6上的解决方案
将Perl5代码迁移到Perl6上的解决方案
昆明市民间借贷%私人车辆抵押个人消费贷款-房产抵押贷款代办公司
昆明市民间借贷%私人车辆抵押个人消费贷款-房产抵押贷款代办公司
昆山市收购二手车上门电话&小轿车高价回收,可以上门收车,诚信经营
昆山市收购二手车上门电话&小轿车高价回收,可以上门收车,诚信经营
盘锦市垫资过桥办理#房屋抵押贷款怎么贷-汽车抵押企业生意贷款
盘锦市垫资过桥办理#房屋抵押贷款怎么贷-汽车抵押企业生意贷款
凉山车辆抵押生意贷款#车辆抵押贷款利率低|个体户经营贷款
凉山车辆抵押生意贷款#车辆抵押贷款利率低|个体户经营贷款
武汉市江夏区汽车押绿本贷款@抵押车贷款,办理小额信用贷款
武汉市江夏区汽车押绿本贷款@抵押车贷款,办理小额信用贷款
从环保与便利角度,2026年电子发票抽奖如何推动无纸化消费趋势?
从环保与便利角度,2026年电子发票抽奖如何推动无纸化消费趋势?
ai保存pdf格式出现多余内容怎么解决? 去掉pdf文件多余内容的技巧
ai保存pdf格式出现多余内容怎么解决? 去掉pdf文件多余内容的技巧
贵阳市资金过桥贷款中介@汽车抵押贷款公司办理,住房抵押贷款电话
贵阳市资金过桥贷款中介@汽车抵押贷款公司办理,住房抵押贷款电话
mac中资源库在哪? macOS资源库文件夹详解
mac中资源库在哪? macOS资源库文件夹详解
大连市专业厕所疏通|疏通卫生间,收费透明
大连市专业厕所疏通|疏通卫生间,收费透明
mac程序坞怎么调整? macOS程序坞/Dock 栏调整大小和位置的技巧
mac程序坞怎么调整? macOS程序坞/Dock 栏调整大小和位置的技巧
河池市汽车抵押公司经营贷款@24小时个人贷款|专业贷款公司
河池市汽车抵押公司经营贷款@24小时个人贷款|专业贷款公司