代码之家  ›  专栏  ›  技术社区  ›  Aravind Yarram

oracle和i18n支持

  •  5
  • Aravind Yarram  · 技术社区  · 14 年前

    我们需要在同一数据库模式中存储不同语言的字符数据。Oracle 10g是我们的数据库。我希望已经这样做过的人能给我更具体的指示,告诉我如何启用oracle 10g db。我们只需要存储来自多个地区的数据,以及在数据库级别的排序(希望所有主要数据库都支持这一点)。我们不需要格式化日期、日期时间、数字、货币等。

    我读了一些关于oracle i18n支持的文档,但对它们的许多nls特性有些困惑。我应该使用nls语言或nls语言或nls字符集。。。。。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Justin Cave    14 年前

    假设您是从头开始构建数据库,而不是试图改造引入其他问题的现有数据库。

    在数据库中,需要确保数据库字符集支持要存储的所有字符。大概,这意味着将数据库的NLS_字符集设置为AL32UTF8。就我个人而言,我更喜欢将NLS_LENGTH_语义设置为CHAR。这将更改VARCHAR2(n)的默认行为,以分配n个字符的存储,而不是n个字节。由于AL32UTF8是一个可变长度字符集,使用字节语义通常是有问题的,因为您要么必须声明3倍长的字段,最后不同的用户可以在同一字段中输入不同数量的字符。