Ubuntu设置locale

您所在的位置:网站首页 ubuntu修改语言命令 Ubuntu设置locale

Ubuntu设置locale

2023-09-12 14:20| 来源: 网络整理| 查看: 265

在基于Ubuntu的Docker容器中操作代码时,发现在本机上显示正常的中文注释,在容器中都是乱码。查看locale,找到了原因:

locale是Linux系统中多语言环境的接口,locale命令可以设置和显示程序运行的语言环境。在本例中,通过locale命令查看到的语言环境都是“POSIX”,显然无法支持中文显示。所以,接下来就需要寻找方法来设置可支持中文显示的语言环境。

locale的设置包括12个以LC_开头的变量,如上面截图中的LC_CTYPE~LC_IDENTIFICATION 12个变量。这12个变量分别代表:

LC_CTYPE:语言符号及其分类,LC_NUMERIC:数字,LC_TIME:时间显示格式,LC_COLLATE:比较和排序习惯,LC_MONETARY:货币单位,LC_MESSAGES:信息,如提示信息、错误信息、状态信息、标题、标签、按钮和菜单等,LC_PAPER:默认纸张大小,LC_NAME:姓名书写方式,LC_ADDRESS:地址书写方式,LC_TELEPHONE:电话号码书写方式,LC_MEASUREMENT:度量衡表达方式, LC_IDENTIFICATION:locale对自身包含信息的概述。

locale在Ubuntu系统中的默认存放位置为:/usr/share/i18n/locales。

locale的语法规则:_.,例如zh_CN.UTF-8中,zh表示中文,CN表示中国大陆,UTF-8表示字符集。

让我们来看一下容器中已有的字符集:

没有我们想要的中文字符集,所以接下来需要安装一下:

apt-get -y install language-pack-zh-hans

安装完成后,再次执行locale -a,发现已经多了两个中文字符集zh_CN.utf8和zh_SG.utf8

 Locale的设置 1. 修改/etc/profile文件

设置locale的方式有多种,我使用的是修改/etc/profile的方式。在/etc/profile的最下面添加如下两句:

export LC_ALL=zh_CN.utf8 export LANG=zh_CN.utf8

执行source /etc/profile 使其生效。然后,再次查看locale,已经发生了变化。

 

 2. 修改/etc/locale.gen文件

 执行vim /etc/locale.gen,可以看到该文件的内容:

将需要的语言和字符集的注释打开,并执行locale-gen命令使其生效。

3.  命令行设置 localectl set-locale LANG=zh_CN.UTF-8 4. 修改/etc/default/locale文件

注销重新登陆后生效。

5.  创建/etc/locale.conf文件

通过vim /etc/locale.conf创建文件,并写入需要的语言选项,然后通过source /etc/locale.conf使其生效。 

该方法未经验证,需要的同学可自行尝试。

完成locale的设置后,容器中的中文乱码问题得到解决。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3