Linux系统中有时会用户们会遇到SecureCRT连接到linux服务器之后出现乱码,那么我们要怎么解决这个问题呢?其实方法并不难,现在就和小编一起来看看吧。
问题:中文字符显示出来成了乱码(当前系统编码为UTF-8,CRT编码为UTF-8)
原则:保持文件、系统、CRT三者的编码格式一致即可
解决方法:
方法1:
a、查看文件的编码格式
在Vim中可以直接查看文件编码
:setfileencoding
fileencoding=latin1
使用命令查看文件编码
#fileMysql2.txt
Mysql2.txt:ISO-8859text,withCRLFlineterminators
ISO-8859又称Latin或西欧语言
b、查看Linux系统使用的编码是什么格式,将系统的编辑修改成en_US(如果看到文件编辑为UTF-8或GBK等其他的,这里改成UTF-8或GBK等即可)
#LANG=en_US
#echo$LANG
en_US
c、修改并修改SecureCRT的设置(如果看到文件编辑为UTF-8或GBK等其他的,这里改成UTF-8或GBK等即可)
右击–选择session的属性进行查看,修改成default
方法2:
a、查看文件的编码格式
在Vim中可以直接查看文件编码
:setfileencoding
fileencoding=latin1
使用命令查看文件编码
#fileMysql2.txt
Mysql2.txt:ISO-8859text,withCRLFlineterminators
ISO-8859又称Latin或西欧语言
由于latin1是一种非常宽松的编码方式,任何一种编码方式得到的文本,用latin1进行解码,都不会发生解码失败——当然,解码得到的结果自然也就是理所当然的乱码。
让系统能尽量识别文件正确的编码(编辑~/.vimrc文件):
#vim~/.vimrc
setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936
setfileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
设置完毕后,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
再次查看编码
:setfileencoding
fileencoding=cp936
这时,应该可以看到vim的时候能正常显示中文了,但是cat的时候还是不行
b、给文件转码,将cp938格式转化为UTF-8(直接从latin1转的时候不会报错,但转出来会还是乱的)
#iconv-fcp936-tUTF-8Mysql2.txt-oMysql8.txt
-f:from
-t:to
-o:output
c、查看Linux系统使用的编码是什么格式,将系统的编辑修改成en_US.UTF-8
#LANG=en_US.UTF-8
#echo$LANG
en_US.UTF-8
d、修改并修改SecureCRT的设置
右击–选择session的属性进行查看,修改成UTF-8
如果你在使用Linux电脑时,也遇到了这个问题,那么就用这种方法让你的SecureCRT顺利连接到linux服务器吧。