解决SecureCRT中文显示乱码

系统 1649 0

操作步骤

下面两步:

  1. 远程linux机器。改动环境变量LANG。比如在~/.bash_profile里面加入

                  export LANG=zh_CN.UTF8
                

    又一次登录之后生效。

    如今查看一下当前设置:
                  myname@myhost~> locale
    LANG=zh_CN.UTF8
    LC_CTYPE="zh_CN.UTF8"
    LC_NUMERIC="zh_CN.UTF8"
    LC_TIME="zh_CN.UTF8"
    LC_COLLATE="zh_CN.UTF8"
    LC_MONETARY="zh_CN.UTF8"
    LC_MESSAGES="zh_CN.UTF8"
    LC_PAPER="zh_CN.UTF8"
    LC_NAME="zh_CN.UTF8"
    LC_ADDRESS="zh_CN.UTF8"
    LC_TELEPHONE="zh_CN.UTF8"
    LC_MEASUREMENT="zh_CN.UTF8"
    LC_IDENTIFICATION="zh_CN.UTF8"
    LC_ALL=
    myname@myhost~>
    
    
                
  2. 本地windows机器。改动SecureCRT的设置。找到“选项”->“会话选项”->“外观”:
    *    字符编码设置为utf-8。
    *    字体设置,选择中文字体,比如新宋体。

设置完毕。然后測试一下。

基本原理

首先,同一种语言,可以使用不同的编码。比如,中文windows的系统默认字符集是cp936,基本上等同gbk。參考  http://zh.wikipedia.org/wiki/GBK  。
比如有两个文件。文件名称分别为“我的分析1.txt”和“我的分析2.txt”。可是文件名称(不是文件内容)的编码格式不同。

“我的分析1.txt”的UTF-8编码为

        e68891 e79a84 e58886 e69e90 31 2e 74 78 74
  我       的     分      析  1  .  t  x  t
      


   "我的分析2.txt"的gb2312(是gbk的一个真子集)编码格式为

        ced2 b5c4 b7d6 cef6 32 2e 74 78 74
我    的    分   析   2  .  t  x  t
      


第二,linux shell环境下,环境变量LANG决定了本地使用的字符集(通常情况,不考虑LC_ALL等)。包含文件名称和文件内容的处理。比如,由于编码不同,执行ls命令时,上面的两个文件名称不能同一时候正确显示。
在实际linux系统中,不应该如此灵活,而要固定一种文件名称编码格式。比如,linux一般默认使用utf-8编码文件名称。下面三种情况:
   1> LANG=zh_CN.UTF8,设置shell程序使用UTF8编码处理字符。因此,
     “我的分析1.txt”可以被正确处理,由于是UTF-8编码。
     “我的分析2.txt”是gb2312编码,显示为乱码。

   2> LANG=zh_CN.gb2312 或者 LANG=zh_CN.gb18030,那么
    “我的分析1.txt”显示为乱码。
    “我的分析2.txt”可以正确处理。

   3> LANG=en,那么ls查看,两个文件名称都不能正常显示。

第三,SecureCRTclient的编码设置要与远程linux的编码设置一致,才可以正确显示字符。


补充说明

  1. SecureCRT和远程linux同一时候都使用gb2312编码,也没有问题。在这样的情况下,字符都依照gb2312进行处理。可是,笔者在自己的windows上利用网络邻居查看远端的linux samba server时,看到的gb2312中文文件名称是乱码。而用UTF-8就没有问题。虽然通过设置samba可以解决,但还是建议统一用默认的UTF8格式,比較保险。
  2. VIM正确显示和输入中文的设置。编辑~/.vimrc,加入下面两行
              let &termencoding=&encoding 
    set fileencodings=ucs-bom,utf-8,gbk
            
    这样设置之后,utf-8和gb2312都能正确处理。

解决SecureCRT中文显示乱码


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论