securecrt中文乱码以及ubuntu设置locale

参考文献

http://wiki.ubuntu.org.cn/%E4%BF%AE%E6%94%B9locale

http://www.bootf.com/547.html

强烈建议

ubuntu下面不要使用中文编码,就是不要使用zh_CN.utf8,建议使用英文编码方式,只要安装有ut8编码的话,是可以正确识别中文的。

设置方式如下,只需要设置LANG,其他的会自动设置。注意:修改以后需要重启才能生效,否则再次运行locale会发现没有变化。

enadmin@cgnmon:/etc/default$ vi /etc/default/locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

可以参考:http://codelife.me/blog/2012/12/04/change-default-locale-in-ubuntu-server-12-dot-10/

问题

使用securecrt去连接ubuntu服务器,打开smokeping的配置文件,发现里面显示的都是乱码了。按照文献2种前半段的介绍进行配置,将securecrt的字符从default设置为UTF-8,但是最后发现还是不行。

后来找了一些资料,说是要设置/etc/default/locale,但是我发现我的locale设置没有问题,已经设置成zh_CN.utf8了。

# vi /etc/default/locale
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL="zh_CN"
~

后来在文献1种找到相关资料,通过locale -a命令查看当前的字符集,发现没有zh_CN.utf8,只有zh_CN和zh_CN.gb2312

# locale -a
C
C.UTF-
en_US.utf8
POSIX
zh_CN
zh_CN.gb2312

找到问题所在,我就按照参考文献1的方法进行安装

qii@ubuntu:~$ cd /usr/share/locales
qii@ubuntu:/usr/share/locales$ ls
install-language-pack remove-language-pack
qii@ubuntu:/usr/share/locales$ sudo ./install-language-pack zh_CN.UTF-
Generating locales...
zh_CN.UTF-... done
Generation complete.
dpkg-trigger: dpkg-trigger must be called from a maintainer script (or with a --by-package option)

重启以后再去编辑smokeping的配置文件,发现正常显示中文。

上一篇:Centos7在单用户模式下重置root密码


下一篇:Linux Centos7设置UTF-8编码,防止中文乱码