.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 =SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280 ---- 4) 用EXP 做 全 部 数 据 库 备 份。 ---- 5) 关 闭Oracle。 ---- 6) 重 新 创 建 数 据 库。 ---- 7) 用IMP 做 全 部 数 据 库 恢 复。 ---- 8) 如 果 由 于 各 种 原 因 不 成 功, 可 以 使 用 第 一 步 的 物 理 备 份 恢 复 原 始 数 据 库。 另外,论坛里有很多关于字符集的贴子,你也搜索一下看看。

解决方案 »

  1.   

    我觉得,首先安装操作系统的时候选装了中文字符集然后建立数据库的时候选择中文字符集zhs16gbk再者,这一你的nls_lang环境变量也是zhs16gbk
      

  2.   

    sorry:
    中文字符集好像是他SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
    我不敢确定有没有这种SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280 中文字符集。上面的部分段落改为:
    ---- update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'; ---- 3) 设 置 环 境 变 量NLS_LANG。 例 如 ---- NLS_LANG =SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
      

  3.   

    是不是Red hat7.0不支持汉字,Oracle就不能支持汉字?
      

  4.   

    不是!oracle支持汉字,只是你要选择正确的字符集;
    而nls_lang不支持"SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
    但支持"ZHS16CGB231280",“ZHS16GBK ”我没有试过.
      

  5.   

    首先安装前先设置环境变量:
    NLS_LANG="SIMPLIFIED CHINESE"
    其次,在安装的时候,选简体中文字符集即可。我装过多次了,没问题的
      

  6.   

    我想问一下:你所认为的不支持中文,是否只是在客户端Insert中文后,select出的却是乱码?
    如果是这样,那解决很简单,只需将客户端Oracle字符集改成与server一样的即可!