开发机器 与 生产机 字符集不一样
 NLS_NCHAR_CHARACTERSET 开发:
select userenv('language') from dual;
AMERICAN_AMERICA.UTF8生产:
select userenv('language') from dual;
AMERICAN_AMERICA.AL32UTF8
现在从 开发机exp 一个用户A下所有的对象,包括数据进生产机。请问这样生产机的 A的字集会不会 就会跟生产机不一致?
如果不一致,应该怎么处理?

解决方案 »

  1.   

    可以参考这篇文章:
    http://edu.yesky.com/edupxpt/185/2143685.shtml
      

  2.   

    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的吧?
      

  3.   

    应该没有什么问题:
    因为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字节长。
    所以,从移植上来说应该没有任何问题