oracle client字符集设置 乱码问题

程序员经常要连接数据库

 
下面 就说一下 oracle数据库 客户端与服务器端 字符集一致性的问题
 
  这可以解决中文乱码,其他字符乱码问题
 
  主要是指在sqlplus中,其他类似toad/plsql 没有测试,但是本人感觉可以 只要字符集一致,就不会出现乱码这种问题
 
  本人测试环境:win7 64bit、oracle11g 32bit client、oracle服务器端:oracle 10.2.0.1.0;
        www.2cto.com  
  1.查看服务端字符集
 
    第一种方法:select userenv('language') from dual
    第二种方法:select * from NLS_DATABASE_PARAMETERS
 
    假设 查询出的 服务端字符集 为 AMERICAN_AMERICA.US7ASCII
 
  2.设置客户端字符集
 
    第一种方法:注册表 改法:regedit ->HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_OraClient11g_home1->NLS_LANG
 
      需要把NLS_LANG的键值备份(以防出错修改回来)
 
    备份后 在修改为 AMERICAN_AMERICA.US7ASCII( 与数据库一致的字符集)
         www.2cto.com  
    适用于大多数情况。
 
    第二种方法:修改环境变量 我的电脑->右键->属性-》高级系统-》高级->环境变量-》新建用户变量
 
      新建用户变量 变量名:NLS_LANG 变量值:AMSERICAN_AMERICA.US7ASCII(与数据库查询的一一致就好)
 
    适用于多次安装把注册表的oracle节点的键值对删除,对于没有删除注册表的没有测试,建议使用第一种。如果有人测试可以,建议共享出来。
 
 
 
作者 yylp521
posted on 2013-06-21 15:42  adolfmc  阅读(812)  评论(0编辑  收藏  举报