CentOS7的中文乱码原因及编码设置

CentOS7的中文乱码原因及编码设置,第1张

CentOS7下经常会出现中文乱码问题,让人十分头疼,其实这个问题如果理解了,那处理起来也容易很多。

一般我们可以使用locale这个命令来查看当前的设置,一般不外乎zh_CN.UTF-8 、zh_CN.GB18030 、en_US.UTF-8 这三种,如果你当前系统设置编码与终端编码、文件编码中的某个不一样的话就会产生乱码现象。

解决方法很简单,让系统编码和终端显示编码相同

安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:

修改/etc/sysconfig/i18n,内容为

代码如下:

LANG=”zh_CN.GB18030″

LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”

SUPPORTED=”zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”

SYSFONT=”lat0-sun16″

退出重新登录即可

测试方法:在终端输入 date 命令测试,如果显示为以下形式,则说明成功解决了

代码如下:#date

2009 年 11 月 24 日 星期一 12:09:00 CST

如果系统中没有中文字体,请安装中文字体:

代码如下:

#yum install fonts-chinese.noarch

如果字体文件找不到,也可以用rpm包安装

需要两个中文支持的包:

fonts-chinese-3.02-12.el5.noarch.rpm

ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm

fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

一 个是中文字体,一个是字体显示包。

下载后,在命令行安装:

代码如下:#rpm -ivh XXXX ( XXXX 代表上面那两个包的全名, rpm 不会不知道怎么用吧?)

CentOS系统安装完成后,重新启动即可。

可以使用locale命令,查看当前系统默认采用的字符集

# locale

在redHat/CentOS系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:

LANG="zh_CN.UTF-8"

SYSFONT="latarcyrheb-sun16"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。

那么如何显示中文呢?

1、系统必须安装中文语言包才行

# yum -y groupinstall chinese-support

2、仅仅有语言包还不行,我们得设置相应的字符集

## 临时生效

# export LANG="zh_CN.UTF-8"# 设置为中文

# export LANG="en_US.UTF-8"# 设置为英文,我比较喜欢这样 export LANG=C

## 永久生效, 编辑/etc/sysconfig/i18n(最好reboot一下)

LANG="zh_CN.UTF-8"

## 或者,编辑 /etc/profile配置文件,添加如下一行

export LANG="zh_CN.UTF-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++。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11668330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存