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

发表于:2007-07-13来源:作者:点击数: 标签:
在使用apache作为WEB 服务器 而且 数据库 使用的是ORACLE(我用的 oracle 版本是 Oracle 8iR2.8.1.6)。在解决客户端的中文存取时,把我折腾惨了,所有的资料都是介绍服务器端的字符集配置,而客户端的介绍很少,只是一句话将字符集于服务器端配置相同即可了

在使用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程序编写了。例子如下:

uery.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);

?>



  

原文转自:http://www.ltesting.net