0%

Ubuntu 16.04设置LC_CTYPE错误

作者的Ubuntu 16.04已经在“系统设置–语言支持”中安装了“汉语”。

一、问题背景

在应用中,需要将“LC_CTYPE”环境变量值设为“zh_CN.gbk”,执行export LC_CTYPE=zh_CN.gbk命令,出现如下错误:

1
bash: 警告: setlocale: LC_CTYPE: 无法改变区域选项 (zh_CN.gbk): 没有那个文件或目录

二、问题原因

以上错误提示系统不支持“zh_CN.gbk”语言模块,执行locale -a命令查看系统支持的语言模块,果然不包含“zh_CN.gbk”。具体结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
zh_CN.utf8
zh_SG.utf8

三、问题解决

执行sudo locale-gen "zh_CN.gbk"命令,安装“zh_CN.gbk”语言模块,安装完成后再执行locale -a命令,结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
zh_CN.gbk
zh_CN.utf8
zh_SG.utf8

根据以上结果可知系统已经支持“zh_CN.gbk”语言模块,此时执行export LC_CTYPE=zh_CN.gbk命令不再报错。


参看文献: [1]https://askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue [2]man locale-gen [3]man locale.gen
您的支持将鼓励我继续分享!