数据库间 字符集 问题

lcw321321 2012-03-17 07:44:04
开发机器 与 生产机 字符集不一样
NLS_NCHAR_CHARACTERSET

开发:
select userenv('language') from dual;
AMERICAN_AMERICA.UTF8

生产:
select userenv('language') from dual;
AMERICAN_AMERICA.AL32UTF8


现在从 开发机exp 一个用户A下所有的对象,包括数据进生产机。请问这样生产机的 A的字集会不会 就会跟生产机不一致?
如果不一致,应该怎么处理?
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcw321321 2012-03-18
  • 打赏
  • 举报
回复
好的,谢谢
lxyzxq2008 2012-03-17
  • 打赏
  • 举报
回复
应该没有什么问题:
因为utf8和AL32UTF8都是UTF-8的编码方式,
区别就是
utf8是支持unicode3.0的UTF-8编码方式。由于附加字符是在unicode3.1中提出的,UTF8不支持附加字符。但是unicode3.0已经为附加字符预留了编码空间,所以即使在UTF8的数据库中插入附加字符,也是可以的,只是数据库会将该字符分隔成两部分,需要占6个字符的长度。
而AL32UTF8一种UTF-8编码的字符集,支持最新的unicode4.0标准。字符长度为1,2或者3个字节,附加字符则为4字节长。
所以,从移植上来说应该没有任何问题
lcw321321 2012-03-17
  • 打赏
  • 举报
回复
我这里暂时不关心里面的数据是否已经混乱,我先保证所有的对象的结构要正常,然后我再 想办法把数据也导入正常。
lcw321321 2012-03-17
  • 打赏
  • 举报
回复
select CHARACTER_SET_NAME from user_tab_columns  group by CHARACTER_SET_NAME;

select CHARACTER_SET_NAME from col group by CHARACTER_SET_NAME;


CHARACTER_SET_NAME
-----------

CHAR_CS

如果我查出来没异常,就应该是OK的吧?
我心飞翔 2012-03-17
  • 打赏
  • 举报
回复

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧