CentOS 出现中文乱码,通常是 系统语言环境(locale)、终端编码 或 字体 没配置好。下面按常见场景给你一套排查和解决方法。
locale
echo $LANG
如果看到类似:
LANG=en_US.UTF-8
或
LANG=C
说明 没有启用中文 UTF-8,就会乱码。
yum install -y kde-l10n-Chinese
yum reinstall -y glibc-common
dnf install -y langpacks-zh_CN
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
编辑:
vi /etc/locale.conf
内容改为:
LANG="zh_CN.UTF-8"
然后执行:
source /etc/locale.conf
或重启系统。
locale
应看到:
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
UTF-8localectl set-locale LANG=zh_CN.UTF-8
file 文件名
iconv -f gbk -t utf-8 原文件 -o 新文件
编辑:
vi ~/.vimrc
加入:
set encoding=utf-8
set fileencodings=utf-8,gbk,gb18030
| 现象 | 原因 |
|---|---|
| ls / cat 中文乱码 | 没装中文 locale |
| SSH 中文乱码 | 终端编码不是 UTF-8 |
| 文件中文乱码 | 文件本身是 GBK |
| vim 中文乱码 | vim 编码未配置 |
yum install -y langpacks-zh_CN
echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
source /etc/locale.conf
如果你愿意,可以告诉我:
我可以给你更精确的解决方案。