分享

解决SecureCRT中文显示乱码

 goodwangLib 2014-04-11

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

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

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


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

  1. ced2 b5c4 b7d6 cef6 32 2e 74 78 74  
  2. 我    的    分   析   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查看,两个文件名都不能正常显示。

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多