一、显示中文Linux乱码现象
使用SecureCRT或xshell连接远程Linux,部分内容显示的乱码,显示乱码的内容,实际为非英文字符。
乱码原因为,服务器端字符集与客户端工具的字集相符不兼容。例如,Linux服务器是zh_CN.UTF-8,而客户端(一般为Windows)的字附集则是ZHS16GBK。
下面是一个典型场型案例:
1、Linux服务器端字符集
[root@ol6fonts ~]# more /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
|
2、客户端操作系统字符集
C:\Users\Administrator>echo %NLS_LANG%
American_America.ZHS16GBK
|
3、客户端工具字符
以SecureCRT工具为例:
SecureCRT的默认字符集是default
4、显示结果
[root@ol6fonts ~]# chkconfig --list kdump
kdump 0:鍏抽棴 1:鍏抽棴
2:鍏抽棴 3:鍏抽棴
4:鍏抽棴 5:鍏抽棴
6:鍏抽棴
|
二、解决方案一:修改客户端工具的字符集
以SecureCRT工具为例,点击菜单栏的“选项”—“会话选项”,在对话框中的“外观”类型中,修改“字符编码”为“UTF-8”,不需要重新连接服务器,就可以解决乱码问题了。
修改后,再显示跟非英文相关的字符,即可正常显示:
[root@ol6fonts ~]# chkconfig --list kdump
kdump 0:关闭 1:关闭
2:关闭 3:关闭
4:关闭 5:关闭
6:关闭
|
三、解决方案二:修改服务器端字符集方式
1、在客服端工具字符编码方式为default不变的情况下,修改服务器端/etc/sysconfig/i18n配置文件中的LANG值
--原内容:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
--修改后内容:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
|
/etc/sysconfig/i18n文件是一个登陆加载文件,要想结果生效,只需要退出重新登陆即可得到新的配置结果值
2、验证修改后的显示结果
[root@ol6fonts ~]# chkconfig --list kdump
kdump 0:off
1:off 2:off 3:off 4:off
5:off 6:off
|
上面结果,已经正常的显示为en_US字符编码了。
本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作
欢迎加入系统性能优化专业群,共同探讨性能优化技术。群号:258187244
|