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