Linux-语系和编码

基本介绍

locale 是 Linux 系统中多语言环境的设置接口,为计算机上提供了国际化和本地化转化的环境。系统运行语言环境
 C是系统默认的locale,而POSIX是C的别名,这是标准的C Locale。它所指定的属性和行为由ISO C标准所指定
  Linux中locale文件存放位置: /usr/share/i18n/locales
字符集 
   /usr/share/i18n/charmaps
   
   文件编码转换(iconv命令)

1.系统语系和软件的语系数据

配置文件位置	
centos	
    cat /etc/locale.conf
ubuntu 
 	cat  /etc/environment
	locale默认文件存放位置: /usr/share/i18n/locales
	
	locale 时,系统是列出目前 Linux 主机内保有的语系档案, 
	    这些语系档案都放置在: /usr/lib/locale/ 这个目录中。
	
命令行
 localectl	
 locale
	locale 由ANSI C提供支持。locale 的命名规则为<语言>_<地区>.<字符集编码>,
	    如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集
	
	export LC_ALL=en_US.utf8
	
说明
   优先级:LC_ALL > LC_* > LANG
   
   
 操作步骤
 查看当前系统所有可用 locale
 设置系统的 locale
 
 echo $LANG
最小单元
apt-get install locales   命令安装locales包

如果某种locale不在上述列表中出现,可以使用locale-gen命令来安装该种locale。
 locale-gen zh_CN.UTF-8
  locale-gen可以把原始的/usr/share/i18n中的文件complie成系统能用的/usr/lib/locale/地字符集。
  所以当使用locale-gen 命令出现由某些文件确实而失败的情况,往往是由/usr/share/i18n缺失
 
联网安装	 
(2)apt-get install language-pack-zh-hans //安装对应的语言包:(这里也是安装中文包,一般来说操作系统都是英文的,所以英文的一般都不需要安装)
     language-pack-en ,language-pack-en-base
 (3)locale-gen zh_CN.UTF-8 //添加中文支持  
 
 参考 https://packages.ubuntu.com/

2.软件的语言环境

python  locale.Error unsupported locale setting
     export LC_ALL="en_US.UTF-8"
     export LC_CTYPE="en_US.UTF-8"        语言符号及其分类(LC_CTYPE)
##默认的编码	
python3 -c 'import locale; print(locale.getpreferredencoding())'
脚本		
import locale
   alllocale = locale.locale_alias
   for k in alllocale.keys():
       print 'locale[%s] %s' % (k, alllocale[k])	 
	 
在Java里,有Locale.getAvailableLocales()可以用	 
posted @ 2022-06-22 16:42  辰令  阅读(421)  评论(0编辑  收藏  举报