关于全球化支持功能

使用全球化支持功能可以开发能够在全球任意位置同时运行的多语言应用程序。应用程序可以使用用户的本机语言和区域设置首选项呈现用户界面的内容并处理数据。

注:

过去,Oracle 将全球化支持称为国家语言支持 (NLS) ,但实际上 NLS 是全球化的支持的子集。NLS 是一种选择国家语言和使用特定字符集存储数据的功能。NLS 是使用 NLS 参数实现的。

另请参阅: Oracle Database Globalization Support Guide(了解有关全球化支持功能的详细信息)

关于语言支持

Oracle Database 支持您以本机语言存储、处理和检索数据。可以存储在数据库中的语言是以 Oracle 支持的字符集编码并写入脚本的所有语言。通过使用 Unicode 数据库和数据类型,Oracle Database 支持大多数现代语言。

对语言的子集提供附加支持。例如,数据库可以使用已翻译的月份名称显示日期,并可以根据文化约定对文本数据进行排序。

在本文档中,语言支持是指与语言相关的附加功能,但不是指存储特定语言文本的能力。例如,语言支持包括根据特定的区域设置和文化约定显示日期或对文本排序。此外,对于某些受支持的语言,Oracle Database 还为数据库实用程序提供翻译的服务器消息和翻译的用户界面。

另请参见:

关于地区支持

默认的当地时间格式、日期格式以及数值和货币约定取决于当地地区设置。

Oracle Database 支持特定于地理位置的文化惯例。默认的当地时间格式、日期格式以及数值和货币约定取决于当地地区设置。通过设置不同的 NLS 参数,数据库会话可使用不同的文化设置。例如,对于某个给定的数据库会话,可以将欧元 (EUR) 设为主要货币,将日元 (JPY) 设为辅助货币,即使地区为 AMERICA 也是如此。

另请参见:

关于日期和时间格式

不同的国家/地区的小时、日、月份和年份的显示具有不同的约定。

例如,此表显示了五个国家/地区的当地日期和时间格式,而且每个格式都提供了一个示例:

国家/地区 日期格式 范例 时间格式 范例
中国 yyyy-mm-dd 2005-02-28 hh24:mi:ss 13:50:23
爱沙尼亚 dd.mm.yyyy 28.02.2005 hh24:mi:ss 13:50:23
德国 dd.mm.rr 28.02.05 hh24:mi:ss 13:50:23
UK dd/mm/yyyy 28/02/2005 hh24:mi:ss 13:50:23
US mm/dd/yyyy 02/28/2005 hh:mi:ssxff am 1:50:23.555 PM

另请参见:

关于日历格式

不同的国家/地区使用不同的日历。

Oracle Database 存储每个地区的以下日历信息:

另请参见:

关于数值和货币格式

不同的国家/地区有不同的数值和货币约定。

此表显示五个国家当地数值和货币格式,而且每个格式都提供了一个示例:

国家/地区 数字格式 货币格式
中国 1,234,567.89 ©1,234.56
爱沙尼亚 1 234 567,89 1 234,56 kr
德国 1.234.567,89 1.234,56€
UK 1,234,567.89 £1,234.56
US 1,234,567.89 $1,234.56

另请参见:

关于语言排序和字符串搜索

不同语言具有不同排序次序(即轮询序列)。此外,使用相同字母表的不同国家/地区或文化对单词的排序也不同。例如,在丹麦语中,Æ 位于 Z 之后,Y 和 Ü 视作同一字母的不同变体。

另请参见:

关于长度语义

要使用字节长度计算字符串中的字符数,必须知道字符集中每个字符的字节数。

在单字节字符集中,字符串中的字节数和字符数的相同。在多字节字符集中,字符或代码点包含一个或多个字节。在长度可变的字符集中,基于字节长度来计算字符数可能会很困难。以字节数计算列长度称为字节语义,而以字符数的度量列长度称为字符语义

字符语义对于指定长度可变的多字节字符串的存储要求很有用。例如,在 Unicode 数据库 (AL32UTF8) 中,假定必须有一个 VARCHAR2 列,该列必须最多可存储五个中文字符加五个英文字符。使用字节语义时,此列需要 15 个字节存放中文字符 (中文字符长度为 3 个字节),需要 5 个字节存放英文字符 (英文字符长度为 1 个字节),总共需要 20 个字节。使用字符语义时,此列需要 10 个字符。

另请参见:

关于 Unicode 和 SQL 国家字符数据类型

Unicode 是一种字符编码系统,可定义世界上大多数现行语言中的所有字符。在 Unicode 中,每个字符都具有唯一代码,而与平台、程序或语言无关。

在 Oracle 数据库中可以采用两种方法存储 Unicode 字符:

SQL 国家字符数据类型是 NCHAR、NVARCHAR2 和 NCLOB。这些数据类型还称为 Unicode 数据类型,因为这些类型仅用于存储 Unicode 数据。

用于所有 SQL 国家字符数据类型的国家字符集在创建数据库时指定。国家字符集可以为 UTF8 或 AL16UTF16 (默认设置)。

声明类型为 NCHAR 或 NVARCHAR2 的列和变量时,所指定长度是字符数,而不是字节数。

另请参见: