Linux设置locale为中文解决shell终端乱码问题
条评论前言
在Centos中通过locale
来设置程序运行的不同语言环境,locale
由ANSI C提供支持。locale
的命名规则为<语言>_<地区>.<字符集编码>
,如zh_CN.UTF-8
,zh
代表中文,CN
代表大陆地区,UTF-8
表示字符集。在locale
环境中,有一组变量,代表国际化环境中的不同设置。
locale导致的问题
中国人使用,总会出现中文名的文件或者文件内容是中文的,一般locale未指定则使用英文语言,此时查看中文文件将会出现乱码。
可以使用以下命令查看当前语言环境:
1 | [root@sobaigu.com]# echo $LANG #只显示使用的语言 |
设置中文字符集
locale -a
可以查看系统支持的语言,如有zh_cn.UTF-8
表示已经安装了中文语言,如果没有则可以自己安装:
1 | yum group install chinese-support |
临时更换语言支持
如果只是临时更换linux系统的语言环境,可以通过输入设置 LANG=语言名称
, 如中文是LANG=zh_CN.UTF-8
Linux是大小写敏感的,所以请注意字符大小写
修改系统默认语言
以下方法是通过修改设置系统默认的语言配置,如vi /etc/sysconfig/i18n
,在里面加上如下内容:
1 | LANG="zh_CN.UTF-8" |
注意改好之后重启一下系统才能生效
还有一种说法是修改profile
文件,但实测修改后会出现如下错误,而且locale
也没更改过来,大家用以上方法即可。
-bash: export: `en_US.UTF-8’: not a valid identifier
本文标题:Linux设置locale为中文解决shell终端乱码问题
文章作者:凹凸曼
发布时间:2017-11-20
最后更新:2017-11-20
原始链接:https://sobaigu.com/linux-set-locale-for-chinese.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。