Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3926860
  • 博文数量: 421
  • 博客积分: 685
  • 博客等级: 上将
  • 技术积分: 3670
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-18 14:20
文章分类

全部博文(421)

文章存档

2012年(5)

2011年(52)

2010年(83)

2009年(67)

2008年(65)

2007年(149)

分类:

2010-04-02 08:21:57

本人作品,SCSA认证教程教材:《SUN Solaris 9/10系统管理员认证指南》

第 2 章 系统环境

用户可以使用 shell 环境变量来更改他们的语言环境设置。每个种类命名一个现有的语言环境。setlocale () 函数直接设置或查询这些种类的设置。 国际化函数使用这些设置来访问与所需语言环境相对应的表。

环境变量可以间接设置种类: 当 setlocale() 将种类设置为缺省设置时,它使用每个环境变量的设置来设置关联的种类。 setlocale() 函数不更改环境变量的设置,它只是读取它们的设置。

更改缺省语言环境

可以采用下列步骤更改系统范围的缺省语言环境。

  1. 编辑 /etc/default/init 文件,添加或更改下行。

    Czhzh.GBK zh_CN.GB18030zh.UTF-8 替代 语言环境


    LANG=locale 
  2. 让所有用户退出 CDE。

  3. 键入下列命令:


    % su
    # /usr/dt/bin/dtconfig -kill
  4. 键入下列命令:


    % su
    # reboot

语言环境和种类术语

术语“语言环境”和“种类”有如下关系:

  • 语言环境包括语言、地域、编码集和其他功能的规范。 简体中文 Solaris 操作环境包括以下语言环境:

    • C—对于 ASCII 英文环境,语言环境必须设置为 C

    • zh—对于 EUC 中的简体中文环境,语言环境必须设置为 zh

    • zh.GBK—对于 GBK 中的简体中文环境,语言环境必须设置为 zh.GBK

    • zh.UTF-8—对于 Unicode 中的简体中文环境,语言环境必须设置为 zh.UTF-8

    • zh_CN.GB18030—对于 GB18030-2000 中的简体中文环境,语言环境必须设置为 zh_CN.GB18030

  • 种类是构成语言环境的功能集。 例如字符显示或时间/日期表示,它们的行为取决于 locale。 简体中文 Solaris 种类包括:

    • LC_CTYPE 设置字符类型以便分类和转换。

    • LC_TIME 为日期和时间表示设置语言环境。

    • LC_NUMERIC 设置数字表示语言环境(也用于 I/O)。

    • LC_MONETARY 设置货币表示语言环境。

    • LC_MESSAGES 为用户消息设置语言环境。

    • LC_COLLATE 设置与语言环境有关的字符串排序。

环境变量 LC_ALL 为所有种类显式设置相同的语言环境; 它具有最高的优先级。 如果未设置种类或 LC_ALLLANG 环境变量将确定种类设置。

与简体中文 Solaris 本地化工具相互作用

在 C shell 级,每个环境变量都可以由 shell 命令设置为 locale(对于 ASCII 为 C,对于 EUC 中的简体中文为 zh,对于 GBK 中的简体中文为 zh.GBK,对于 GB18030-2000 中的简体中文为 zh_CN.GB18030,对于 Unicode 中的简体中文为 zh.UTF-8 ),如下所示:

    C shell 用户可以输入如下 shell 命令:


system% setenv LC_TIME locale 

    Bourne shell (sh) 用户可以使用 setexport


$ set -a LC_TIME$ LC_TIME=locale 


$ LC_TIME=locale
$ export LC_TIME

zhzh.GBKzh_CN.GB18030zh.UTF-8 作为 locale 使用户的环境可以以简体中文格式和文本显示时间。 用户可以为工作环境定义混合的语言环境。 例如,字符可以以简体中文键入和转换,时间可以以法语格式显示,而消息可以以英文显示。

许多用户在单一文化环境中工作。 LC_ALLLANG 环境变量设置所有种类的系统缺省值。 例如,这些 C shell 命令将所有种类的系统缺省值设置为 locale


system% setenv LC_All locale
system% setenv LANG locale

系统管理员或用户可以设置缺省值,而 setenv 语法可以在编程时使用。

此设置在下次应用程序调用 setlocale () 将种类设置为缺省设置时生效:setlocale()( LC_XXX "")

阅读(8492) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~