加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle和i18n的支持

发布时间:2021-03-06 14:22:38 所属栏目:站长百科 来源:网络整理
导读:我们需要在同一个db模式中存储不同语言的char数据. Oracle 10g是我们的数据库.我希望有人已经这样做会给我更具体的指示,说明如何启用oracle 10g db.我们只需要存储来自多个语言环境的数据以及整理(希望所有主要数据库都支持这一点)在数据库级别的支持.我们不

我们需要在同一个db模式中存储不同语言的char数据. Oracle 10g是我们的数据库.我希望有人已经这样做会给我更具体的指示,说明如何启用oracle 10g db.我们只需要存储来自多个语言环境的数据以及整理(希望所有主要数据库都支持这一点)在数据库级别的支持.我们不需要格式化日期,日期时间,数字,货币等.

我阅读了一些关于oracle的i18n支持的文档,但对它们的许多nls_ *属性有些困惑.我应该使用nls_lang或nls_language或NLS_CHARACTERSET …..

解决方法

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

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

NLS_LANG是一个客户端设置.这标识了客户端要请求将数据转换为的字符集.这通常取决于操作系统的代码页.

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读