问题
最近直接在Server上编辑文件的时候才发现,原来我们的Ubuntu Server竟然没有自带中文,输进去的中文都成了乱码,煞是难看。研究了一会配置中文显示的方法,稍微花了点时间,这里姑且记一下方便以后查找。
解决思路
要解决这个问题,首先我们需要了解我们当前系统支持什么语言,一番搜索发现了如下命令:
1 | root@server:/#locale |
这个命令显示了关于语言的一些环境变量,显然有很多是英文en_US
,当然,我们需要把他们改成中文的zh_CN
。不过这里有一个问题,那就是我怎么知道我把配置改成中文之后这个系统到底支不支持呢?因此我用下面的命令查看了下系统当前支持的语言:
1 | C |
当然,我们也可以在/var/lib/locales/supported.d/local
查看当前系统支持的语言:
1 | root@server:/usr/lib/locale#cat /var/lib/locales/supported.d/local |
果然,在这些当中并没有看到中文语言,那么我就要来安装语言包了。
安装语言包需要用到locale-gen
这个命令,用法很简单:
1 | root@server:/usr/lib/locale#locale-gen zh_CN.UTF-8 |
OK,现在我们就发现系统已经安装了中文依赖:
1 | root@server:/usr/lib/locale#cat /var/lib/locales/supported.d/local |
最后,我们需要修改一下默认配置即可,即把/etc/default/locale
里的文件改成如下:
1 | root@server:/usr/lib/locale#cat /etc/default/locale |
现在就可以正常的显示中文了,检查一下当前的配置:
1 | root@server:/var/www/html/hexo/source/_posts#locale |
连之前的warning也顺便消除了。。。