配置APACHE支持oracle客户端进行中文数据存取

2/9/2008来源:Oracle教程人气:5252


  在使用apache作为WEB服务器而且数据库使用的是Oracle(我用的oracle版本是Oracle8iR2.8.1.6)。 在解决客户端的中文存取时,把我折腾惨了,所有的资料都是介绍服务器端的字符集配置,而客户端的介绍很少,只是一句话将字符集于服务器端配置相同即可了,一下我就针对客户端的配置的一些经验与大家分享一下。
  首先,要保证字符集的字库应该在。/oracle/8.1.6/ocommon/nls/admin/data中保存符集的字库。
  在php中支持中文存取,(在php程序中不用再进行设置NLS_LANG和ORA_NLS33这两个环境变量了),只要将/etc/rc.d/init.d目录中的httpd文件中设置环境变量即可:
  增加如下几行:
  eXPort ORACLE_HOME=/www/oracle/OraHome1
  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
  export ORACLE_SID=orcl
  export TNS_ADMIN=/etc
  这样即可以进行php程序编写了。例子如下:
  query.php:
  
  
  
  查询名字
  
  
  
  
  

  

    $handle=ora_logon("oradb@test","1111") or die;
  $cursor=ora_open($handle);
  ora_commitoff($handle);
  $query="select username from msg where id='testname'";
  echo "
".$query."
";
  ora_parse($cursor,$query) or die;
  ora_exec($cursor);
  $i=0;
  if(ora_fetch($cursor))
  echo ora_getcolumn($cursor,0);
  echo "
ok";
  ora_close($cursor);
  ?>