参考文献
http://wiki.ubuntu.org.cn/%E4%BF%AE%E6%94%B9locale
强烈建议
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-8
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-8
Generating locales...
zh_CN.UTF-8... done
Generation complete.
dpkg-trigger: dpkg-trigger must be called from a maintainer script (or with a --by-package option)
重启以后再去编辑smokeping的配置文件,发现正常显示中文。
作者:xwdreamer