我在服务器windows2003简体中文版上安装的简体中文版的oracle11g,在服务器上运行sqlplus一切正常,中文能正常显示,
但在客户端运行sqlplus时则提示信息中含中文的地方都变成了乱码,数据库表中的记录也是乱码。    用select userenv('language') from dual查询的结果是SIMPLIFIED CHINESE_CHINA.AL32UTF8,客户端注册表中
NLS_LANG的值也改了相同了,但客户端plsql中仍为乱码,但在pl/sql developer中,数据库表中的记录可以正常显示中文,
但错误提示信息弹出的对话框仍然是乱码。    能不能在不修改服务器端的情况下,使客户端能正常工作?
   
    哪位大侠能指点以下,不胜感激!
   
    

解决方案 »

  1.   

    -- 那是pl/sql developer 的字符集设置问题!可能要安装中文包!
      

  2.   

    谢谢楼上, 问题应该不是pl/sql developer设置,之前使用oracle精简客户端连接oracle10g时一切都正常,后来装了oracle11g客户端后,pl/sql developer提示客户端字符集与服务器字符集不一致,但也还能正常查询,只是每次pl/sql developer启动时有提示,后来改了注册表的NLS_LANG项与服务器一致后,就连sqlplus都是乱码了
      

  3.   

    帖下你select   *   from   sys.props$   where   name= 'NLS_CHARACTERSET';的结果,和
    注册表HKEY_LOCAL_MACHINE-> SOFTWARE-> ORACLE-> HOME0中“NLS_LANG”的值看看
      

  4.   

    感谢楼上,select * from sys.props$ where name= 'NLS_CHARACTERSET'的查询结果为:
    1 NLS_CHARACTERSET AL32UTF8 Character set注册表HKEY_LOCAL_MACHINE-> SOFTWARE-> ORACLE-> HOME0中“NLS_LANG”的值为:
    SIMPLIFIED CHINESE_CHINA.AL32UTF8没有看出哪里不对的,请指点,谢谢!
      

  5.   

    这个问题是要设置会话的语种,请进入sqlplus使用set nls_language=american
    如果还是不行,请使用 alter session set nls_language=american