# locale
在redHat/CentOS系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:
LANG="zh_CNUTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CNUTF-8:zh_CN:zh"
其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。
那么如何显示中文呢?
1、系统必须安装中文语言包才行
# yum -y groupinstall chinese-support
2、仅仅有语言包还不行,我们得设置相应的字符集
## 临时生效
# export LANG="zh_CNUTF-8" # 设置为中文
# export LANG="en_USUTF-8" # 设置为英文,我比较喜欢这样 export LANG=C
## 永久生效, 编辑/etc/sysconfig/i18n(最好reboot一下)
LANG="zh_CNUTF-8"
## 或者,编辑 /etc/profile配置文件,添加如下一行
export LANG="zh_CNUTF-8"
# 重新载入
# /etc/profile
## 查看当前的字符集
# echo $LANG
好了,经过上面的设置,在终端上应该能够显示中文了。
3、ssh远程终端乱码
如果SSH终端还是乱码,那么我们也需要对终端软件的编码进行设置。
Xshell:
SecureCRT:
4、如果终端还是中文乱码肿么办?
对SSH软件进行设置,选择一个支持中文的字体。
Linux <---> Windows 之间相互需要修改文件,然后乱码。
拷贝上去后经常发现中文显示乱码。。原因是Windows中默认的文件格式是 GBK(gb2312),而Linux一般都是UTF-8。比较繁琐的方法是在windows下用程序把内容转换为utf-8编码格式的,但是相当麻烦, 而且遇到一个文件转一回。下面介绍一下,在Linux中如何一劳永逸的解决这个问题,查看文件的编码及如何进行对文件进行编码转换。
为了避免这些问题,最好的方式就是统一编码。对于文本文件,都统一保存为UTF8格式,windows下面不要使用word,记事本,推荐Sublime text, 或者notepad++。; 很多朋友都想知道linux显示中文乱码应该怎么办?下面就一起来看看吧!
linux显示中文乱码
一、登陆linux系统打开 *** 作终端之后,输入echo$LANG可以查看当前使用的系统语言
在终端输入locale命令查看是否有中文语言包,如有zhcn表示已经安装了中文语言
如果没有中文语言可以通过网上下载安装中文语言包yumgroupinstallchinese-support。
二、临时更换语言
如果只是临时更换linux系统的语言环境,可以通过输入设置LANG=语言名称,如中文是
Zn_CNUTF-8
三、打开设置把终端的编码选择中文,或者UTF8即可
本文章基于ThinkpadE15品牌、centos7系统撰写的。
英文字符的也全都乱码吗?还是英文和符号部分正常显示,其他乱码?
如果全乱码,CRT用默认设置,如果部分乱码说明没有安装字体支持(语言包),或编码错误
没有i18n文件,那就看看/etc/localeconf
也可以命令行echo $LANG,瞅瞅,正常来说都是en_US或en_USutf-8是不会乱码的
下面两张图第一张是使用了错误的语言,系统没有安装语言包
第二张图是系统与CRT终端的编码错误、不一致(ANSI,utf-8,Unicode),
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)