SecureCRT连接Linux时经常会看到乱码。
发生乱码的原因主要是有三个地方
1.Linux的etc的系统默认配置的编码
2.用户环境变量里面设置的LANG变量
3.SecureCRT会话变量里面的字符集的设置
只要保持这三个地方的字条集编码保持一致就可以了。
解决步骤如下:
1.设置用户的环境变量
查询当前用户的Local信息:
[root@devdbserver ~]# export |grep LANG
declare -x LANG="zh_CN.GB18030"
设置用户的Local为UTF-8
[root@devdbserver ~]# env lang=zh_CN.utf8
HOSTNAME=devdbserver
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
NLS_LANG=AMERICAN
SSH_CLIENT=::ffff:192.168.14.12 51137 22
SSH_TTY=/dev/pts/2
JRE_HOME=/usr/java/jdk1.5.0/jre
........
lang=zh_CN.utf8
[root@devdbserver ~]#
可以看到现在用户的环境变量将语言设置成为了lang=zh_CN.utf8。
2.设置SecureCRT。
设置步骤如下图所示:
需要说明的是:
设置字符编码跟用户变量一样后,可能还会出现中文乱码。
原因是字体引起的。
因为有些字体无法显示中文,所以中文就会出现乱码。
所以在选择字体时,应该选择那支持中文的字体。