解决SecureCRT中文显示乱码
操作步骤
以下两步:
- 远程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~>
- 本地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查看,两个文件名都不能正常显示。
第三,SecureCRT客户端的编码设置要与远程linux的编码设置一致,才可以正确显示字符。
补充说明
- SecureCRT和远程linux同时都使用gb2312编码,也没有问题。在这种情况下,字符都按照gb2312进行处理。但是,笔者在自己的windows上利用网络邻居查看远端的linux samba server时,看到的gb2312中文文件名是乱码。而用UTF-8就没有问题。尽管通过设置samba能够解决,但还是建议统一用默认的UTF8格式,比较保险。
- VIM正确显示和输入中文的设置。编辑~/.vimrc,添加下面两行
- let &termencoding=&encoding
- set fileencodings=ucs-bom,utf-8,gbk
这样设置之后,utf-8和gb2312都能正确处理。
解决SecureCRT中文显示乱码的更多相关文章
- SecureCRT中文显示乱码
环境:SecureCRT登陆REDHAT5.3 LINUX系统 问题:vi编辑器编辑文件时文件中的内容中文显示乱码,但是直接使用linux系统terminal打开此文件时中文显示正常,确诊问题出现在客 ...
- 解决Linux中文显示乱码的问题
1.直接执行 export LC_ALL=zh_CN.UTF8 #linux服务器中文显示乱码,但配置文件设置是中文的.解决办法 2.修改文件 修改/etc/sysconfig/i18n文件,确认信息 ...
- 解决zabbix中文显示乱码问题
中文显示问题,图表乱码 解决办法: [root@zabbix ~]# cd /usr/share/zabbix/include/ [root@zabbix include]# vim locales. ...
- SecureCRT中文显示乱码的解决方法
注:本文出自:http://riching.iteye.com/blog/349754 最近开始用SecureCRT登陆linux系统,由于是新手,很多问题不清楚,碰到显示中文乱码的问题,困扰了好几天 ...
- 37、解决 HTMLTestRunner 中文显示乱码的问题
1.在自己的测试脚本中加入下面的代码并保存: # -.- coding:utf-8 -.- import sys reload(sys) sys.setdefaultencoding('utf-8') ...
- 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
1. 修改远程linux机器的配置 vim /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集 如: LANG="zh_CN.UTF-8″ 或者 ...
- ubuntu 中文显示乱码问题 (转)
添加中文字符编码: $sudo vim /var/lib/locales/supported.d/local #添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 ...
- 涉及secureCRT中文显示的一些设置
1.secureCRT中文显示乱码: 如果你的linux本身是显示着中文的,可进行如下设置: 选项->会话选项 外观->字符编码改为UTF-8,确定即可 2.secureCRT中文横向显示 ...
- Xshell个性化设置,解决Xshell遇到中文显示乱码的问题
在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...
随机推荐
- POJ 2386 Lake Counting (水题,DFS)
题意:给定一个n*m的矩阵,让你判断有多少个连通块. 析:用DFS搜一下即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...
- C#和JavaScript的区别
Strong and Loose Typing: 强弱比较 // C# var customer = new Customer(); //var is compiler inferred //Java ...
- 在WPF程序中使用摄像头兼谈如何使用AForge.NET控件(转)
前言: AForge.NET 是用C#写的一个关于计算机视觉和人工智能领域的框架,它包括图像处理.神经网络.遗传算法和机器学习等.在C#程序中使用摄像头,我习惯性使用AForge.NET提供的类库.本 ...
- centos下 Apache、php、mysql默认安装路径
centos下 Apache.php.mysql默认安装路径 http://blog.sina.com.cn/s/blog_4b8481f70100ujtp.html apache: 如果采用RPM包 ...
- XHTML标签的嵌套规则--很基础很重要
XHTML的标签有许多:div.ul.li.dl.dt.dd.h1~h6.p.a.addressa.span. strong……我们在运用这些标签搭建页面结构的时候,是可以将它们无限嵌套的,但是,嵌套 ...
- c# 使用hook来监控鼠标键盘事件的示例代码
如果这个程序在10几年前,QQ刚刚兴起的时候,有了这个代码,就可实现盗号了. 当然使用钩子我们更多的是实现"全局快捷键"的需求. 比如 程序最小化隐藏后要"某快捷键&qu ...
- jquery的匿名函数研究
jQuery片段: ? 1 2 3 ( function (){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在 ...
- Android+Jquery Mobile学习系列(4)-页面跳转及参数传递
关于页面转场,这个必须得专门列出来说明一下,因为Jquery Mobile与普通的Web发开有一些区别,这个对于新手如果不了解的话,就会钻到死胡同.撸主前段时间就是很急躁地上手开发程序,结果在页面转场 ...
- 实现输出h264直播流的rtmp服务器 flash直播服务器【转】
实现输出h264直播流的rtmp服务器 RTMP(Real Time Messaging Protocol)是常见的流媒体协议,用来传输音视频数据,结合flash,广泛用于直播.点播.聊天等应用,以及 ...
- [AngularJS] Accessing Services from Console
Using the Chrome console, you can access your AngularJS injectable services. This is down and dirty ...