在使用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);
?