当前位置:首页 > linux教程 > 列表

SecureCRT连接Linux后文件编码解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-29 14:15:25 浏览: 评论:0 

关于SecureCRT连接到linux服务器之后出现乱码问题我们通常是设置编辑所导致了,具体解决办法小编就为各位介绍一下吧.

问题:中文字符显示出来成了乱码,当前系统编码为UTF-8,CRT编码为UTF-8.

原则:保持文件、系统、CRT三者的编码格式一致即可.

处理过程:

方法1:a、查看文件的编码格式,在Vim中可以直接查看文件编码.

:set fileencoding

fileencoding=latin1

使用命令查看文件编码:

# file Mysql2.txt

Mysql2.txt: ISO-8859 text, with CRLF line terminators

ISO-8859 又称 Latin或“西欧语言”

b、查看Linux系统使用的编码是什么格式,将系统的编辑修改成en_US(如果看到文件编辑为UTF-8或GBK等其他的,这里改成UTF-8或GBK等即可).

  1. # LANG=en_US 
  2. # echo $LANG 
  3. en_US 
  4.  

c、修改并修改Secure CRT的设置,如果看到文件编辑为UTF-8或GBK等其他的,这里改成UTF-8或GBK等即可,右击–选择session的属性进行查看,修改成default.

方法2:a、查看文件的编码格式,在Vim中可以直接查看文件编码.

  1. :set fileencoding 
  2. fileencoding=latin1 

使用命令查看文件编码.

  1. # file Mysql2.txt  
  2. Mysql2.txt: ISO-8859 text, with CRLF line terminators 

ISO-8859 又称 Latin或“西欧语言”,由于latin1 是一种非常宽松的编码方式,任何一种编码方式得到的文本,用 latin1 进行解码,都不会发生解码失败——当然,解码得到的结果自然也就是理所当然的“乱码”.

让系统能尽量识别文件正确的编码(编辑~/.vimrc文件):

  1. # vim ~/.vimrc 
  2. set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 
  3. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 

设置完毕后,就可以让vim自动识别文件编码,可以自动识别UTF-8或者GBK编码的文件,其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开,再次查看编码:

  1. :set fileencoding 
  2. fileencoding=cp936 

这时,应该可以看到vim的时候能正常显示中文了,但是cat的时候还是不行.

b、给文件转码,将cp938格式转化为UTF-8,直接从latin1转的时候不会报错,但转出来会还是乱的.

  1. # iconv -f cp936 -t UTF-8 Mysql2.txt -o Mysql8.txt    
  2.  -f : from  --phpfensi.com 
  3.  -t : to 
  4.  -o: output 

c、查看Linux系统使用的编码是什么格式,将系统的编辑修改成en_US.UTF-8.

  1. # LANG=en_US.UTF-8 
  2. # echo $LANG 
  3. en_US.UTF-8 

d、修改并修改Secure CRT的设置,右击–选择session的属性进行查看,修改成UTF-8.

Tags: SecureCRT 连接Linux

分享到: