详解Linux中文乱码问题终极解决方法

2019-10-13 17:19:25王振洲

只改第一个不管用,好像第二个尤其重要,必须改。

1、console终端乱码

在/etc/profile文件的最后一行添加如下内容:

代码示例:

export LC_ALL="zh_CN.GB18030"

2、xwindow终端乱码

在/etc/sysconfig/i18n文件的最后一行添加如下内容:

代码示例:

export LC_ALL="zh_CN.GB18030"

乱码分两种情况:

1.终端(纯shell界面)的乱码

代码示例:

vi /etc/profile
export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"

保存退出,reboot系统即可..

2.X-window(图形界面)的乱码

代码示例:

vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"

保存reboot即可...

新发了台linux虚拟机,用VIM出现了中文乱码问题,查找了资料,解决方法:

vi /etc/sysconfig/i18n

将内容改为 

代码示例:

LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

这样中文在SSH,telnet终端就可以正常显示了

其中,主要修改的内容主要为zh_CN.GB18030,其中要注意VI个性的内容为根目录下,要注意权限。

每次装完linux,用SSH连接,中文总是显示乱码。

解决方法:编辑/etc/sysconfig/i18n,将其中的 LANG="zh_CN.UTF-8" 改为 LANG="zh_CN.GB2312" 。

断开重新连接。

附1,linux下中文乱 码问题解决方案。

从windows传过来的文件拷到linux下是乱码,俺们又想在linux下显示中文,怎么办呢?我们首先进行测试,linux下的中文是否可以正常显 示?答:yes. 所以问题就比较明显了,windows下拷过来的不能显示,说明windows下和linux下支持的格式是不相同的.
linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码。所以导致中文编码会乱码。要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦。

然后使用如下命令进行转换:

iconv -f gb2312 -t utf-8 test.txt> testutf8.tzt

(-f 就是源编码,-t 转换目标编码,test.txt源文件,testutf8.txt生成目标编码文件)

备注:使用 iconv -l 可以查看系统支持编码格式。当然也可以添加其中的编码格式:

默认为utf8,如果想用其他编码如GBK

手动更改配置文件的命令: