在安装目录下,建一个隐藏的.profile文件,加这么一句.
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
试试看吧.
这个是Solaris下这么用的.不行的话,可以在导出数据的时候把那句加进去,将数据导出看看.

解决方案 »

  1.   

    转一篇,应该对你有用:
    巧妙转换ORACLE数据库字符集
    在大型数据库管理系统中,ORACLE数据库不论在数据库管理能力还是在安全性方面都是无可非议的。国内企业使用ORACLE数据库的也较多,但是由于ORACLE不同版本的字符集,给数据显示、数据备份、数据转换等实际工作带来了不少麻烦。  
    一、字符集参数  
    一旦数据库创建后,数据库的字符集是不能改变的。因此,考虑使用哪一种字符集是十分重要的。数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。  
    下面介绍一些与字符集有关的NLS_LANG参数:  
    NLS_LANG格式:NLS_LANG=language_territory.charset  
    有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如:  
    AMERICAN_AMERICA.US7SCII   
    JPANESE_JAPAN.JA16EUC  
    其中:language 指定服务器消息的语言。  
    territory 指定服务器的日期和数字格式。  
    Charset 指定字符集  
    还有一些子集可以更明确定义NLS_LANG参数:  
    NLS_DATE_FORMAT 缺省的日期格式  
    NLS_DATE_LANGUAGE 缺省的日期语言  
    NLS_NUMBERIC_CHARACTERS 小数字符和组分隔开  
    NLS_CURRENCY 本地货币字符  
    NLS_ISO_CURRENCY ISO货币字符  
    NLS_SORT 字符排序序列   
    二、字符集转换  
    1、NLS_LANG参数的修改方法:  
    1)用SYS用户名登陆ORACLE。  
    2)查看字符集内容   
    SQL>SELECT * FROM PROPS$;  
    3)修改相应的字符子集   
    SQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘   
    WHERE NAME=’NLS_LANGUAGE’;  
    4) 递交COMMIT;  
    2、NLS_LANG参数的具体应用:  
    1)采用服务器端/客户端方式,两端字符集不同  
    修改客户端字符集:  
    WIN95/WIN98:修改注册表   
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG  
    UNIX:按照1方法,直接进入ORACLE 修改。  
    2)不同字符集使用EXP/IMP命令  
    按照1方法,修改IMP端的字符集设置,如果是WIN98/WIN95系统,还必须修改注册表。注意:NLS_LANG三个子集的参数必须一致。另外,如果字符集单双字节设置不同,则不能通过修改字符集进行转换。可以使用其他方式,不修改字符集,进行ORACLE数据库搬移,如数据量比较小,可以使用SQLLOAD命令,通过文本文件转换;使用其他数据库软件(ACCESS,FOXPRO等)转换。
      

  2.   

    vi .profile文件,加这么一句.
    NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
      

  3.   

    数据库装好了之后,更改字符集不是没有办法.但据说是危险非常大的.8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。 
    Startup nomount; 
    Alter database mount exclusive; 
    Alter system enable restricted session; 
    Alter system set job_queue_process=0; 
    Alter database open; 
    Alter database character set zhs16gbk;
      

  4.   

    UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘   
    WHERE NAME=’NLS_LANGUAGE’
    这个方法我不太赞成.
    如果value$的值输入不正确的字符集的话,oracle8i数据的可能无法启动(oracle9i可以),
    且oracle更新字符集时不仅仅是这一张表.而是有12个表之多.
    用alter database character set 字符集
    是比较好的.