前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决SecureCRT中文显示乱码

解决SecureCRT中文显示乱码

作者头像
forrestlin
发布2022-04-02 10:28:58
2.8K0
发布2022-04-02 10:28:58
举报
文章被收录于专栏:蜉蝣禅修之道蜉蝣禅修之道

转自:http://blog.csdn.net/malundao/article/details/6584209

操作步骤

以下两步:

  1. 远程linux机器。修改环境变量LANG。例如在~/.bash_profile里面添加 [plain] view plain copy
代码语言:javascript
复制
 export LANG=zh_CN.UTF8  
代码语言:javascript
复制
 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~>  
  1. 本地windows机器。修改SecureCRT的设置。找到“选项”->“会话选项”->“外观”: * 字符编码设置为utf-8。 * 字体设置,选择中文字体,例如新宋体。

设置完成。然后测试一下。

基本原理

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

代码语言:javascript
复制
 e68891 e79a84 e58886 e69e90 31 2e 74 78 74  
   我       的     分      析  1  .  t  x  t  

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

代码语言:javascript
复制
 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查看,两个文件名都不能正常显示。 第三,SecureCRT客户端的编码设置要与远程linux的编码设置一致,才可以正确显示字符。 补充说明

  1. SecureCRT和远程linux同时都使用gb2312编码,也没有问题。在这种情况下,字符都按照gb2312进行处理。但是,笔者在自己的windows上利用网络邻居查看远端的linux samba server时,看到的gb2312中文文件名是乱码。而用UTF-8就没有问题。尽管通过设置samba能够解决,但还是建议统一用默认的UTF8格式,比较保险。
代码语言:javascript
复制
VIM正确显示和输入中文的设置。编辑~/.vimrc,添加下面两行     [plain] view plain copy  
 
 
 
 let &termencoding=&encoding   
 set fileencodings=ucs-bom,utf-8,gbk  
 

这样设置之后,utf-8和gb2312都能正确处理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 转自:http://blog.csdn.net/malundao/article/details/6584209
  • 操作步骤
  • 基本原理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档