select * from v$nls_parameters;
看你的DB是否为ZHT16GBK,就是NLS_NCHAR_CHARACTERSET和NLS_CHAR_CHARACTERSET那两个参数的值
如果是WINDOWS,查看注册表,看你的客户端环境的字符集是否为ZHT16GBK,
如果是UNIX,$env,查看你的环境变量

解决方案 »

  1.   

    NLS_CHARACTERSET
    ZHS16GBK
    NLS_NCHAR_CHARACTERSET
    AL16UTF16
    操作系统是red hat9,参数是以上的两个,怎样修改能写入中文啊?
      

  2.   

    你TELNET上red hat9后,你的登陆用户的环境变量NLS_LANG的值是什么?你DB里的NCHAR和CHAR不一样?不过一般NCHAR的值只有你在用NCHAR的函数时才有用,应该没多大关系,不过这点我不太确定。
      

  3.   

    vi .bash_profile
    修改字符集
      

  4.   

    我在windows客户端向linux服务器写入中文,在客户端查询得到中文,可是在linux端查询就是一堆问号,在linux下写入中文,查询显示的是一些乱码,是不是linux的问题啊?
      

  5.   

    .bash_profile内
    是否设置了中文字符集
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK