ACINlsEnvironmentVariableGet()

ACINlsEnvironmentVariableGet()

作用:

返回NLS_OSCAR_LANG环境变量的字符集对应的字符集ID

语法:

sword ACINlsEnvironmentVariableGet ( void       *val,
                                     size_t      size,
                                     ub2         item,
                                     ub2         charset,
                                     size_t     *rsize );

参数:

  • val (IN/OUT)

返回全球化支持环境变量的值,例如NLS_OSCAR_LANG字符集ID

  • size (IN)

指定给定输出值的大小,该值仅适用于字符串数据。 每条信息的最大长度为ACI_NLS_MAXBUFSZ字节。 对于数字数据,将忽略此参数。

  • item (IN)

指定以下值之一以从全球化支持环境变量中获取:

ACI_NLS_CHARSET_ID:ub2数据类型中的NLS_OSCAR_LANG字符集ID; 如果未设置NLS_OSCAR_LANG,则返回默认字符集ID(根据平台返回:windows返回GBK的字符ID,Linux返回UTF8的字符ID)。

ACI_NLS_NCHARSET_ID:保留选项,不返回任何有效值。

  • charset (IN)

指定检索到的字符串数据的字符集ID。 如果为0,则使用NLS_OSCAR_LANG值。 ACI_UTF16ID是此参数的有效值。 对于数字数据,将忽略此参数。

  • rsize (OUT)

返回值的长度(以字节为单位)。

说明:

为了允许将来对该功能进行增强(从环境变量中检索其他值),输出val的数据类型是指向void的指针。 字符串数据不以NULL终止。

请注意,该函数没有环境句柄,因此它返回的字符集ID和国家字符集ID是在NLS_OSCAR_LANG中指定的值,而不是在ACI环境句柄中保存的值。 要获取ACI环境句柄使用的字符集ID,请分别为ACI_ATTR_ENV_CHARSET_ID和ACI_ATTR_ENV_NCHARSET_ID调用 ACIAttrGet

备注:目前不支持NLS_OSCAR_LANG字符集的获取。