AL16UTF16 不能作为数据库字符集,只能作为国家字符集.
 UTF8,AL32utf8可以作为数据库字符集. 执行查询: select *  from nls_database_parameters;
 看看nls_characterset到底是什么?

解决方案 »

  1.   

    怎么样查看数据库字符集 
    [A]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 
      客户端字符集环境select * from nls_instance_parameter,其来源于v$parameter, 
    表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 
      会话字符集环境 select * from nls_session_parameter,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameter一致。 
      客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 
      字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。