参考文献
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的配置文件,发现正常显示中文。