大家好,又见面了,我是你们的朋友全栈君。SecureCRT 连接 Linux 时经常会看到乱码。 发生乱码的原因主要是有三个地方 1.Linux 的 etc 的系统默认配置的编码 2.用户环境变量里面设置的 LANG 变量 3.SecureCRT 会话变量里面的字符集的设置 只要保持这三个地方的字条集编码保持一致就可以了。
解决步骤如下: 1.设置用户的环境变量 查询当前用户的 Local 信息: # export |grep LANG declare -x LANG=”zh_CN.GB18030″ 设置用户的 Local 为 UTF-8
# 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 #
可以看到现在用户的环境变量将语言设置成为了 lang=zh_CN.utf8。 2.设置 SecureCRT。 设置步骤如下图所示:
需要说明的是: 设置字符编码跟用户变量一样后,可能还会出现中文乱码。 原因是字体引起的。
因为有些字体无法显示中文,所以中文就会出现乱码。
所以在选择字体时,应该选择那支持中文的字体
1,Emulation
Terminal 选择的是vt100,并且选中“ANSI Color”(背景由白变黑)
2,Appearance
Font 选择的是新宋体 character utf8 字符集选gb2312
locale -a 查看本地的字符集
locale -m 查看所有支持的字符集
查看当前默认设置 echo $LANG
记录系统默认使用语言的文件是/etc/sysconfig/i18n
其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。
linux字符集的设置:
1.临时export LANG= “zh_CN.UTF-8”
2.修改/etc/sysconf/i18n文件,把 LANG=”zh_CN.UTF-8″ 并source
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126240.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...