加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

oracle和i18n的支持

发布时间:2021-03-06 21:17:30 所属栏目:百科 来源:网络整理
导读:我们需要在同一个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是一个客户端设置.这标识了客户端要请求将数据转换为的字符集.这通常取决于操作系统的代码页.

(编辑:PHP编程网 - 黄冈站长网)

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

    热点阅读