在网上购买的服务器有的没有装置中文环境,这样除了显现的体系提示是英文的之外,还会导致中文乱码。
今天以Debian体系为例,分享一下Linux上中文言语及其环境装备。
1,装置言语包
首要我们需求装置locales
这个软件包:
sudo apt install locales
2,装备言语环境
履行下列指令装备言语环境:
sudo dpkg-reconfigure locales
出现装备界面如下:
在这里挑选要装置的言语环境,一般我们不需求悉数挑选装置,挑选需求的即可。
言语项非常多,经过鼠标滚轮、PageUp
或许PageDown
能够上下翻页,有的终端也能够用Home
和End
跳转到开头或许结束,上下键逐个移动光标,翻到最下面能够找到中文言语环境:
按下空格即可挑选,前面带星号(*
)即被选中,一般中文挑选如图的zh_CN.GBK GBK
和zh_CN.UTF-8 UTF-8
这两个即可,最后按下回车确认。
然后便是默认言语设置:
在这里推荐Linux环境下运用zh_CN.UTF-8
这一项,回车确认,这样就装备完结了!
然后注销从头登录,或许重连服务器,言语装备就收效了。
3,装备后依然不收效问题
在绝大多数情况下,完结上述装备,注销或许重启后,或许是从头连接服务器后装备就收效了,无需再做下面的操作,少数情况不收效能够经过环境变量再设置一下即可。
下面介绍locale
指令并提供几个方案,我们视情况挑选其一即可。
(1) locale
指令基本运用
首要履行下列指令检查已装置的言语环境:
locale -a
然后便是检查当时体系言语环境变量装备:
locale
(2) 暂时改动言语环境
在终端中设定LANG
环境变量即可,例如我要暂时改动言语环境为C.UTF-8
:
export LANG=C.UTF-8
这样会立即收效,可是重启或许从头登录后失效。
(3) 永久改动当时用户言语环境
进入用户目录,编辑.bashrc
即可:
cd ~
vim .bashrc
例如永久改动我当时用户的言语环境为C.UTF-8
,则在.bashrc
文件末尾加入:
export LANG=C.UTF-8
(4) 永久改动体系全局言语环境
在/etc/profile.d
中增加一个set-lang.sh
文件(能够自定义文件名),并在其中写上上述设定言语环境变量的指令即可。
cd /etc/profile.d
touch set-lang.sh
chmod +x set-lang.sh
比如说要设定体系言语环境为zh_CN.utf8
,则编辑set-lang.sh
内容如下并保存:
#!/bin/bash
export LANG=zh_CN.utf8
重启即可。
可见这几种方法尽管作用域不同,可是都是经过环境变量即可完结设定。
5,Docker容器内乱码问题
运用Docker容器的话装备locales
还是很费事的,因而不主张在容器中运用上述方法,只需求设定容器内言语环境变量为C.UTF-8
即可。
若是自己制作镜像,在Dockerfile中加入:
ENV LANG C.UTF-8
若是创建一个容器,加上如下环境变量参数:
-e LANG=C.UTF-8
这样,容器内的中文就能够正常显现了!