Linux中LANG变量:定义系统主语系环境
LANG变量定义了Linux 系统主语系环境。
1、默认值如下:
echo $LANG
![3ba55bd450505d87ab3e287affbf00cf.png](https://img-blog.csdnimg.cn/img_convert/3ba55bd450505d87ab3e287affbf00cf.png)
2、 查看Linux系统中支持的语系
700多种
![b3294900a82cc8e0002f0be8c7f2e87e.png](https://img-blog.csdnimg.cn/img_convert/b3294900a82cc8e0002f0be8c7f2e87e.png)
3、 查看当前系统使用的语系
使用locale命令
![d55a15b8fea00b260de53a40f96ff40d.png](https://img-blog.csdnimg.cn/img_convert/d55a15b8fea00b260de53a40f96ff40d.png)
4、配置文件
Linux系统中,语系主要是通过LANG和LC_ALL变量来设置的,其他变量会依赖这两个变量的值而发生变化。
LANG:是定义系统主语系的变量。
LC_ALL:是定义整体语系的变量。
一般使用LANG变量来定义系统语系。
通过文件/etc/sysconfig/i18n定义系统默认语系
如下:
![492fd04cb655ef3265bfeec86955bab3.png](https://img-blog.csdnimg.cn/img_convert/492fd04cb655ef3265bfeec86955bab3.png)
5、修改语系
如果系统重启,则会从默认语系配置文件/etc/sysconfig/i18n中读出语系,然后赋予变量 LANG,让这个语系生效。
即:LANG变量定义的语系只对当前系统生效;
要想永久生效,需要修改/etc/sysconfig/i18n文件。
6、 Linux中文支持的问题
定义了语系为中文语系,如:zh_CN.UTF-8,就可以正确显示中文了嘛?
这要分情况:
(1)如果是在图形界面中,或者使用远程连接工具(如:Xshell等)。那么,只要正确设置了语系,是可以正确显示中文的(远程接工具也要配置正确的语系环境)。
(2)如果是纯字符界面(tty1~tty6),是不能显示中文的。因为Linux的纯字符界面是不能显示中文这么复杂的编码的。如果非要在纯字符界面中显示中文,那么只能安装中文插件。
7、案例
将我们的系统语言暂时修改为zh_CN.UTF-8
LANG=zh_CN.UTF-8
注意:永久生效请修改配置文件/etc/sysconfig/i18n
![22eb3a0fb0d0f510599676b72f3a86b2.png](https://img-blog.csdnimg.cn/img_convert/22eb3a0fb0d0f510599676b72f3a86b2.png)
修改xshell的语系环境
![c85f2f0cb2036d80e9fe816cdd03c03f.png](https://img-blog.csdnimg.cn/img_convert/c85f2f0cb2036d80e9fe816cdd03c03f.png)
测试
![19e92407082e6e893772589f15933c1f.png](https://img-blog.csdnimg.cn/img_convert/19e92407082e6e893772589f15933c1f.png)
感谢支持