解决SecureCRT中文显示乱码

操作步骤

下面两步:

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

    export LANG=zh_CN.UTF8

    又一次登录之后生效。

    如今查看一下当前设置:

    [email protected]~> 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=
    [email protected]~>
    
  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都能正确处理。

时间: 2024-11-29 06:03:04

解决SecureCRT中文显示乱码的相关文章

解决osgEarth中文显示乱码的几种方法

解决osgEarth中文显示乱码的几种方法 在此感谢那些在路上那个帮助过别人的朋友,谢谢. 方法一: 通过自己写函数转换类型. 下面这三个函数先复制过去吧. void unicodeToUTF8(const std::wstring &src, std::string& result) { int n = WideCharToMultiByte( CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0 ); result.resize(n); ::WideCharT

linux系统如何更改字符集的支持,解决Linux中文显示乱码使centos显示中文

linux系统如何更改字符集的支持 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的.咗嚛本经验以centos为例,操作Linux怎么查看语言,设置修改语言 主要是更改/etc/locale.conf文件.centos7之前的版本的配置文件为:/etc/sysconfig/i18n 查看当前系统语言 登陆linux系统打开操作终端之后,输入 

SecureCRT中文显示乱码

1.修改远程linux机器的配置 [root@rhel ~]#vi /etc/sysconfig/i18n 把LANG改成支持UTF-8的字符集  如: LANG="zh_CN.UTF-8″ 或者是 LANG="en_US.UTF-8″  本文修改为后者 2.修改Secure CRT的Session Options Options->Session Options->Appearance->Font->新宋体 字符集:中文GB2312 ->Characte

37、解决 HTMLTestRunner 中文显示乱码的问题

1.在自己的测试脚本中加入下面的代码并保存: # -.- coding:utf-8 -.- import sys reload(sys) sys.setdefaultencoding('utf-8') 2.打开HTMLTestRunner.py,修改其中的第777行和第783行,将其中的编码"latin-1"修改为"utf-8"后保存,具体如下所示: if isinstance(o,str): # TODO: some problem with 'string_es

putty中文显示乱码解决方法

putty工具是开源免费的远程ssh工具,界面整洁,小巧好用,配合同样小巧整洁且免费的WinSCP的ftp功能,绝对是linux后端开发的利器 说下解决putty中文显示乱码的问题 1.更改linux系统的语言环境 vim ~/.bash_profile 在最后添加一行   LANG="zh_CN.UTF-8" :wq 退出保存 最后运行 source ~/.bash_profile 2.修改putty显示 首先ssh连接到你修改过~/.bash_profile 的服务器,登陆后,右键

ubuntu 中文显示乱码问题 (转)

添加中文字符编码: $sudo vim /var/lib/locales/supported.d/local #添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030 使其生效: $sudo dpkg-reconfigure locales vim: 打开vim的配置文件,位置在/etc/vim/vimrc 在其中加入 set fileencodings=utf-8,gb2312,gbk,gb18030 set ter

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法  

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030

解决Sublime Text 3中文显示乱码问题(转)

解决Sublime Text 3中文显示乱码问题(转) 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = s

安装redhat时中文显示乱码(小方框)解决方法

在安装linux的时候,安装完了中文出现乱码或者是当时选错了选成了英文的,到时候中文显示乱码,下面说一下问题的解决: 在首次安装RHEL5时,如果选择的是英文,那么系统将不安装中文支持包,这样就导致了中文显示为乱码(小方框)....... 有很多人说vi /etc/sysconfig/i18n文件,其实根本就没有那个必要. 解决方法: 安装 1.fonts-chinese-3.02-9.6.el5.noarch.rpm.  如果无法安装,则加个--force 2.fonts-ISO8859-2-