您当前的位置:首页 > 计算机 > 系统应用 > Linux

正确解决Linux终端中文显示乱码问题

时间:02-25来源:作者:点击数:

查看语言

1.查看当前系统语言

root@yourserver:~# echo $LANG
C
root@yourserver:~# locale
LANG=C
LANGUAGE=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

2.查看可用的语言包

root@whqserver:~# locale -a
C
C.utf8
POSIX
zh_CN.utf8

新增语言

如执行 locale -a 命令后,未发现 zh_CN.utf8 中文包,则按以下步骤自行添加。

1.修改 /etc/locale.gen 文件,去掉要添加的语言包的注释。

root@whqserver:~# vim /etc/locale.gen
...
# zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
# zh_HK BIG5-HKSCS
zh_HK.UTF-8 UTF-8
# zh_SG GB2312
...

2.执行 locale-gen 命令,生成新添加的语言包

root@whqserver:~# locale-gen
Generating locales (this might take a while)...
  zh_CN.UTF-8... done
  zh_HK.UTF-8... done
Generation complete.
root@whqserver:~# locale -a
C
C.utf8
POSIX
zh_CN.utf8
zh_HK.utf8

修改语言

1.临时修改

export LANG="zh_CN.utf8"
export LC_ALL="zh_CN.utf8"

2.永久修改

# 在 /etc/profile 或 ~/.bashrc 文件末尾新增2行
echo "export LANG=zh_CN.utf8" >> /etc/profile
echo "export LC_ALL=zh_CN.utf8" >> /etc/profile

# 保存后执行 source 命令刷新配置,使之生效
source /etc/profile

注意: 测试发现,在 /etc/profile 或 ~/.bashrc 文件修改的 LANG 变量,在重新登录shell后,修改无法生效。原因未知。而 LC_ALL 变量则无此问题。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门