oracle 11g ogg utf8 转 zhs16gbk char 类型 问题 求救 !!!!
最近 做 ogg , 源端 为 american_america.zhs16gbk , 目标 端 american_america.al32utf8
远端抓取 和 目标端复制 配置 都是 为 : setenv (nls_lang=american_america.zhs16gbk)
源端 oracle用户 nls_lang = american_america.zhs16gbk ,db字符集 zhs16gbk
目标端 oracle用户 nls_lang = american_america.al32utf8 ,db字符集 al32utf8
目标端 字符字段长度 已经 做了 3* 原长度 /2 扩大长度
现在碰到两个问题 :
一个是 很多 char 类型的字段 , 目标端 复制 部分字段 会 报 字段长度 不够的错误 :ora-12889 value too long for column XXX ,
关键是 无论 吧目标端的长度 扩大到多长 都没有用 !!还是 报同样的错误 !!! 最后 想了一个办法 用 colmap xxx=@strtrim(xxx) c处理 就可以通过 , 这是为啥 ???????
第二个问题 , 即使采用了 一 的方法 处理 不报错了 , 但是仍然有 极少的 中文 char 字段 ,会乱码 !! 但是 同一条记录的其余中文 也不乱码 ? 乱码 字段 也不是 所有的记录 都乱码, 只有少量 乱码 。 为 毛啊 ??????
两个问题 可能是同一个 原因 !!!!
求大神解答 !!!!!
远端抓取 和 目标端复制 配置 都是 为 : setenv (nls_lang=american_america.zhs16gbk)
源端 oracle用户 nls_lang = american_america.zhs16gbk ,db字符集 zhs16gbk
目标端 oracle用户 nls_lang = american_america.al32utf8 ,db字符集 al32utf8
目标端 字符字段长度 已经 做了 3* 原长度 /2 扩大长度
现在碰到两个问题 :
一个是 很多 char 类型的字段 , 目标端 复制 部分字段 会 报 字段长度 不够的错误 :ora-12889 value too long for column XXX ,
关键是 无论 吧目标端的长度 扩大到多长 都没有用 !!还是 报同样的错误 !!! 最后 想了一个办法 用 colmap xxx=@strtrim(xxx) c处理 就可以通过 , 这是为啥 ???????
第二个问题 , 即使采用了 一 的方法 处理 不报错了 , 但是仍然有 极少的 中文 char 字段 ,会乱码 !! 但是 同一条记录的其余中文 也不乱码 ? 乱码 字段 也不是 所有的记录 都乱码, 只有少量 乱码 。 为 毛啊 ??????
两个问题 可能是同一个 原因 !!!!
求大神解答 !!!!!
...全文
相关推荐
ORACLE数据库汉字占几个字节问题.pdf
在 AL32UTF8 或 UTF8 编码下,一个汉字通常占用 3 到 4 个字节,而在 ZHS16GBK 编码下,一个汉字占用 2 个字节。
Oracle安装包全流程指南:从解压到RAC搭建与高频SQL操作
数据库环境搭建是企业应用开发和运维的基础环节,而许多开发者的起点往往是一个从网盘或论坛流传出来的“Oracle安装包.zip”。这类压缩包并非官方标准介质,解压后常因服务端、客户端与JDK概念混淆而陷入困境。理解Oracle软件组成、校验安装包完整性(如SHA256),并理清系统JDK与数据库自带运行时的区别,是避免后续连环报错的前提。在Windows或Linux上准备环境时,内核参数、依赖库和字符集选择都会影响最终可用性。新装环境常见的ORA-28547连接失败、12c删除不干净导致重装失败等问题,都有成
Oracle字符集研究.pptx
例如,ZHS16GBK代表使用GBK编码的16位简体中文字符集。字符集分为单字节和多字节编码两种类型。单字节编码有7位和8位之分。
深入Oracle字符集的查看与修改详解
例如,`NLS_LANG = AMERICAN_AMERICA.ZHS16GBK` 中,`ZHS16GBK`就代表简体中文的GBK字符集。字符集的种类主要分为单字节编码和多字节编码。
oracle10g字符集的查看与修改.doc
多字节字符集主要用于处理亚洲语言,如变长的AL32UTF8和ZHS16GBK,它们能表示数千个字符。此外,还有定长的多字节编码如AF16UTF16,它是基于Unicode的16位编码。


