oracle client 字符集设置

程序员经常要连接数据库

下面 就说一下 oracle数据库 客户端与服务器端 字符集一致性的问题

  这可以解决中文乱码,其他字符乱码问题

  主要是指在sqlplus中,其他类似toad/plsql 没有测试,但是本人感觉可以 只要字符集一致,就不会出现乱码这种问题

  本人测试环境:win7 64bit、oracle11g  32bit client、oracle服务器端:oracle 10.2.0.1.0;

  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( 与数据库一致的字符集)

    适用于大多数情况。

    第二种方法:修改环境变量  我的电脑->右键->属性-》高级系统-》高级->环境变量-》新建用户变量

      新建用户变量  变量名:NLS_LANG  变量值:AMSERICAN_AMERICA.US7ASCII(与数据库查询的一一致就好)

    适用于多次安装把注册表的oracle节点的键值对删除,对于没有删除注册表的没有测试,建议使用第一种。如果有人测试可以,建议共享出来。

posted @ 2012-04-09 10:36  bjlhx15  阅读(1662)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭