![]() |
![]() 综合要闻 企业&人.com 产品与技术 网络与通信 市场与渠道 99全文检索 网络世界 微电脑世界 IT经理世界 CCW展览 信息服务中心 家用电脑世界 电子与信息化 今日电子 中国新闻科技 电子知识产权 电子产品世界 Linux园地 友情链接 冬涛谈法 Dongtao on Law |
Oracle 和Developer/2000 字 符 集 的 选 择 和 改 变河 北 省 统 计 局 贾 书 民---- 一、 字 符 集 的 选 择 ---- 在Oracle 客 户 机/ 服 务 器 应 用 中, 前 端 开 发 工 具Developer/2000 应 和Oracle 数 据 库 选 择 相 同 的 字 符 集, 否 则Developer/2000 不 能 正 确 处 理 汉 字, 如 不 能 输 入 汉 字、 汉 字 显 示 乱 码 等。 要 正 确 处 理 汉 字, 一 般 有 两 种 方 案 可 供 选 择: ---- 方 案 一: 使 用US7ASCII 字 符 集。 ---- 在 创 建Oracle 数 据 库 时, 字 符 集 选 择US7ASCII, 在 安 装Developer/2000 时, 语 言 选 择English, 安 装 完 成 后,Developer/2000 缺 省 的 字 符 集 不 是US7ASCII, 应 将windows 目 录 下 的oracle.ini 文 件 中[Oracle] 节 里 的 ---- NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 ---- 修 改 为 ---- NLS_LANG=AMERICAN_AMERICA.US7ASCII ---- 方 案 二: 使 用ZHS16CGB231280 字 符 集。 ---- 在 创 建Oracle 数 据 库 时, 字 符 集 选 择ZHS16CGB231280。 在 安 装Developer/2000 时, 语 言 相 应 地 选 择Simplified Chinese, 其 缺 省 的 字 符 集 为ZHS16CGB231280。 ---- 如 果 采 用 方 案 一, 一 个 汉 字 相 当 于 两 个 字 符。 例 如" 一 个 汉 字" 的 长 度 是8,substr(' 一 个 汉 字',1,2) 的 结 果 为" 一"。 如 果 采 用 方 案 二, 一 个 汉 字 相 当 于 一 个 字 符。 例 如" 一 个 汉 字" 的 长 度 是4,substr('1 个 汉 字',1,2) 的 结 果 为" 一 个"。 ---- 在 客 户 端, 方 案 一 能 正 常 显 示 库 中 的 汉 字, 但 在 录 入 单 个 汉 字 时 有 时 需 要 加 空 格, 录 入 词 组 时 有 时 会 显 示 乱 码; 方 案 二 能 正 常 处 理 汉 字, 包 括 正 确 显 示 和 录 入 汉 字。 ---- 二、 字 符 集 的 改 变 ---- 1.Oracle 数 据 库 字 符 集 的 改 变 ---- Oracle 数 据 库 的 字 符 集 是 在 安 装 数 据 库 时 选 定 的, 一 旦 数 据 库 创 建 之 后, 数 据 库 的 字 符 集 是 不 能 改 变 的, 如 果 要 改 变 数 据 库 的 字 符 集, 只 有 重 新 创 建 数 据 库。 如 果 要 在 使 原 数 据 库 中 数 据 保 持 不 变 的 前 提 下 改 变 字 符 集, 则 可 以 参 考 以 下 方 法: ---- 1) 关 闭Oracle, 物 理 备 份Oracle 系 统。 ---- 2) 启 动Oracle, 修 改sys 的 表props$, 把name='NLS_CHARACTERSET' 行 的values$ 设 置 为 新 的 字 符 集。 例 如 ---- update props$ set value$='ZHS16CGB231280' where name='NLS_CHARACTERSET'; ---- 3) 设 置 环 境 变 量NLS_LANG。 例 如 ---- NLS_LANG =AMERICAN_AMERICA. ZHS16CGB231280 ---- 4) 用EXP 做 全 部 数 据 库 备 份。 ---- 5) 关 闭Oracle。 ---- 6) 重 新 创 建 数 据 库。 ---- 7) 用IMP 做 全 部 数 据 库 恢 复。 ---- 8) 如 果 由 于 各 种 原 因 不 成 功, 可 以 使 用 第 一 步 的 物 理 备 份 恢 复 原 始 数 据 库。 ---- 2.Developer/2000 字 符 集 的 改 变 ---- Developer/2000 安 装 后, 可 以 通 过 修 改 文 件oracle.ini 修 改 字 符 集, 修 改 方 法 可 参 考 方 案 一。 ---- Developer/2000 的 字 符 集 改 变 以 后, 原 来 编 译 好 的 文 件( 如*.fmx) 可 以 正 常 运 行, 但 源 文 件( 如*.fmb) 里 的 提 示 性 汉 字 显 示 为 乱 码, 即 使 重 新 编 译 以 后 运 行, 提 示 性 汉 字 仍 显 示 为 乱 码。 所 以, 如 果 要 修 改 源 程 序, 还 要 对 其 中 的 汉 字 重 新 改 写。 |
在日常的工作生活中, 我们对计算机软硬件技术的应用开发肯定有许多的心得体会, 拿来和众人分享:让别人得到他们想要的,使自己找到苦苦寻觅的; 小的点点滴滴,大的工程系统,这里都需要。投稿 的关键在“技巧”二 字,知他人所不知,这样的稿件本栏最最欢迎! 大家公认的 好文章自然会有好的奖励。希望每个人 在这里都有所收获...
|
|||||||||||||||||||
中国计算机世界出版服务公司版权所有