客户机语言环境指定客户机应用程序用于执行读和写 (I/O) 操作的语言、地域和代码集。
在客户机应用程序中,I/O 操作包括读取键盘输入或要发送至数据库的数据文件,以及将数据库服务器从数据库中检索的数据写入屏幕、文件或打印机。此外,SQL API 客户机还将客户机语言环境用于文字串(最终用户格式)、嵌入的
SQL (ESQL) 语句以及主变量。
GBase 8s 产品为以下各种用途使用
CLIENT_LOCALE 环境变量:
- 在 GBase 8s ESQL/C 的预处理器处理源文件时,它接受以 CLIENT_LOCALE 的代码集编写的 C 源代码。
您使用的 C 编译器和操作系统可能会对 GBase 8s ESQL/C 程序产生限制。有关更多信息,请参阅生成非 ASCII 文件名。
- 在 GBase 8s ESQL/C 客户机应用程序执行时,将检查 CLIENT_LOCALE 以获得客户机语言环境的名称,该语言环境将对操作系统文件名、文本文件的内容以及日期、时间和数字数据的格式产生影响。
有关更多信息,请参阅处理非 ASCII 字符。
- 在客户机应用程序和数据库服务器交换字符数据时,如果 CLIENT_LOCALE 环境变量的代码集与 DB_LOCALE(在客户机计算机上)的代码集不同,客户机应用程序将执行代码集转换。
代码集转换防止这两种代码集不同时发生数据破坏。有关更多信息,请参阅执行代码集转换。
- 在客户机应用程序请求连接时,它将包括 CLIENT_LOCALE 的信息发送至数据库服务器。
在确定如何设置服务器处理语言环境的客户机应用程序信息时,数据库服务器将使用 CLIENT_LOCALE。有关更多信息,请参阅建立数据库连接。
- 在数据库实用程序创建文件时,文件名和文件内容位于 CLIENT_LOCALE 指定的代码集中。
- 在查找特定于产品的消息文件时,客户机应用程序将检查与客户机语言环境关联的消息目录。
有关更多信息,请参阅查找消息文件。
在
图 2 显示的示例连接中,如果客户机语言环境为具有 Windows™ 代码页 1252 的德语 (
de_de.1252),那么
GBase 8s ESQL/C 客户机应用程序使用的特定于德语语言环境的信息包括以下内容:
- 有效的日期最终用户格式支持“美国英语”日期 Tuesday, 02/11/1997 的以下格式:
Di., 11. Feb 1997
- 有效的货币最终用户格式支持“美国英语”金额 $354,446.02 的以下格式:
EUR354.446,02
提示: 为了对客户机语言环境提供此信息,语言环境文件包含以下语言环境类别:COLLATION、CTYPE、TIME、MONETARY 和 NUMERIC。有关更多信息,请参阅
语言环境类别。
为了确定客户机语言环境,客户机应用程序使用客户机计算机上设置的环境变量。为了获取客户机语言环境的本地化顺序和最终用户格式,客户机应用程序使用以下优先顺序:
- 用于日期和时间数据最终用户格式的 DBDATE 和 DBTIME 环境变量以及用于货币数据最终用户格式的 DBMONEY(如果已设置其中一个环境变量)
- 用于日期和时间数据最终用户格式的 GL_DATE 和 GL_DATETIME 环境变量(如果已设置其中一个环境变量)
- 客户机语言环境定义的信息(CLIENT_LOCALE,如果已设置)
- 缺省语言环境(美国英语)
基于 GBase 8s 的客户机应用程序使用上面列表中步骤 2、3 和 4 的优先顺序。无需为 GBase 8s 客户机应用程序设置其他环境变量。
对 DBDATE 和 DBTIME 的支持为基于 GBase 8s 产品较早版本的客户机应用程序提供了兼容。建议为新应用程序使用 GL_DATE 和 GL_DATETIME。