我用toad连接Oracle数据库,所有的表中文都出现乱码,该怎么处理。

解决方案 »

  1.   

    你的库是什么编码的。你就对应改一样的,重起toad就好了。
    AMERICAN_AMERICA.ZHS16GBK中文编码AMERICAN_AMERICA.US7ASCII英文编码
    本机regedit改。
    好了给分吧
      

  2.   

    你看在options->general那个地方有个default encoding改成utf可以吗?
      

  3.   

    你客户端的字符集可能不对。
    注册表中:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1
    下的NLS_LANG用来设置字符集
      

  4.   


    我没有找到NLS_LANG这个啊。
      

  5.   

    应该也是3楼那样改的。windows下oracle客户端安装,注册表是不是默认就是SIMPLIFIED CHINESE_CHINA.ZHS16GBK啊?我从来没改过。
      

  6.   

    字符集是个大问题查看和更改oracle数据库字符集 
     
       1 数据库服务器字符集select * from nls_database_parameters,
         其来源于props$,是表示数据库的字符集。
         更改服务器字符集UPDATE sys.PROPS$ SET value$='US7ASCII' WHERE NAME='NLS_CHARACTERSET';
         此方法有时会导致数据库异常.
     
     2 客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,
     
      表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
        方法有 : 1 设置环境变量: LANG=zh_CN.GBK,NLS_LANG=SIMPLIFIED CHINESE.AL32UTF8
                 2  注册表:HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_XE 更改NLS_LANG值
      

  7.   

    搞定了,最后还是在环境变量中添加了NLS_LANG这个环境变量,并且将值设置为AMERICAN_AMERICA.ZHS16GBK这个。