一直对在ssh secure shell下无法正常显示中文而耿耿于怀,今天无意间发现一个redhat系统可以正常中文。
赶紧看一下系统的环境变量配置;
[root@db2 ~]# echo $LANG
zh_CN.GB18030
[root@db2 ~]# cat /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
#LANG="zh_CN.UTF-8"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
LC_CTYPE=zh_CN.GB18030
LC_TIME=en_US.UTF
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
 
想在ssh下正常显示中文的话,就运行export LANG=zh_CN.GB18030设置一下当前环境变量吧,这设置仅对当前shell有效;要使重启后仍有效,需在.bash_profil下或在etc/sysconfig/i18n配置。
 
注意:如果你是通过secureCRT等工具连接,是否能正确显示中文,还和使用的第三方远程工具软件有关系。有部分第三方工具并不支持UTF-8字符集,这样在linux 执行export LANG=zh_CN.UTF-8后 客户端还是显示为乱码。
 
为保险起见,建议设置为export LANG=zh_CN.GB18030,在第三方工具字符集设置中使用默认即可。
 
展示下我系统显示中文的情况:
[root@db2 ~]# service iptables restart
清除防火墙规则:                                           [确定]
把 chains 设置为 ACCEPT 策略:filter                       [确定]
正在卸载 Iiptables 模块:                                  [确定]
应用 iptables 防火墙规则:                                 [确定]
载入额外 iptables 模块:ip_conntrack_netbios_ns            [确定]