注册表:
hkey_local_machine>software>oracle>home0里有个NLS_LANG变量,修改之~

解决方案 »

  1.   

    可在9i里面v$props表里的NLS_lang的值改不了呀??
      

  2.   

    应该是不可以的。这两种字符集在Oracle里的存储机制是不同的。
      

  3.   

    以zhs16gbk导出,然后以utf8导入.
      

  4.   

    不存在超集的关系,不能用这个命令改的。用update  props$也有能行的时候,但带来数据库不正常工作和乱码的危险更大。
    字符集是创建数据库时设定的。
      

  5.   

    在注册表中查询所有NLS_LANG变量,修改其值为UTF8,应该可以修改的,但如上所说,修改后
    带来数据库不正常工作和乱码的危险更大。
      

  6.   

    imp/exp导致的字符集问题:
    也能这样把*.dmp文件导入,可是深层的东西,大家继续讨论了!
    set nls_lang=simplified chinese_china.zhs16cgb231280
    set nls_lang=simplified chinese_china.ZHS16GBK
    set nls_lang=simplified chinese_china.Utf8见笑,俺也很菜的~
      

  7.   

    要修改的字符集必须是现有字符集的超集,所以将zhs16gbk改成Utf8是不可以的,不过可以试试这种办法:
    1、将客户端的字符集设为UTF8。
    2、在客户端用exp将数据导出,这样服务器会自动将zhs16gbk转换成utf8(不过不能保证没有乱码,因为zhs16gbk是utf8的超集,所以zhs16gbk中的字符不一定都能转换成utf8的)
    3、删除数据库,重新以utf8字符集建库。
    4、将导出的文件导入。