我用的suse 有两个home 分别是/home 和/export/home
同一个数据抽取应用软件系统华为预统计prestat,安装要建立prestat用户,要求默认C shell
如果主目录安装在/home下则在oracle下的输出日志表中中文就会显示?乱码
如果将主目录安装在/export/home下  则数据库下日志表中文显示正常
两种安装除用户主目录不同及安装目录不同外,其他配置均一致
安装目录下有个CSHRC文件设置了变量
NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK;
请高手支招!!!谢谢

解决方案 »

  1.   

    必须保证你本地编码与客户端编码一致!查看客户端编码:
    select * from V$NLS_PARAMETERS where parameter = 'NLS_CHARACTERSET' ;然后再修改客户端连接时使用的编码,主要是修改注册表: cmd下输入regedit,修改Oracle安装目录的编码:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1中的NLS_LANG值
      

  2.   

    linux下安装oracle出现中文乱码之修改字符集:lsnrctl stop
    sqlplus /as sysdba
    update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';
    update props$ set value$='AL16UTF16' where name='NLS_NCHAR_CHARACTERSET';
    commit;
    shutdown immediate;
    startup mount;
    alter system enable restricted session;
    alter system set job_queue_processes=0;
    alter database open;
    alter database character set ZHS16GBK;
    shutdown immediate;
    startup mount;
    alter system set job_queue_processes=1000;
    alter database open;
    exit;
    lsnrctl startsqlplus /nolog
    conn /as sysdba
    startup
    conn sys/sys as sysdba