Linux下PHP的怪问题!

Linux下PHP的怪问题!

系统环境:
    oracle服务器一台, apache,mysql,php,网站服务器一台

需求:
用php从oracle中读数据到mysql中去

问题:
   用linux的定时执行php的程序,读进mysql的中文全部为???

尝试:
  在IE中调用PHP执行是正常的
  telnet登录执行PHP是正常的

自我判断:
  应该是字符集的问题,try1:在telnet登录后改变
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
为英文字符集!执行后为???
try2:在rc.local 中增加oracle环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
还是不行

请大侠指出问题所在! 谢谢!      
尝试:
在你的网站服务器上(应该装了oracle client),用sqlplus连接到ORACLE数据库,查看你的数据,是否是???,如果不是则和ORACL没有关系。
还有linux下的NLS_LANG设置和windows下不一样
817里是用
export NLS_LANG="simplified chinese"
可以看看ORACLE文档。      
我已经试过sqlplus 中oracle是正常的!
我的理解是linux中前台和后台的环境变量不同!
但我也试过在rc.sysinit中加入lang 的值!
不是知道是方法不对还是其它的问题没有成功!请Terran多费心!       
服务器端的环境变量和客户端的环境变量可以不一样,只要服务器上数据库的字符集支持中文就可以,也就是说应该是zhs16gbk,我想你的服务器上应该是这样的,你在客户端上能用sqlplus看见数据库里的中文,应该说你的ORACLE是没有问题的,只是你在执行你的PHP程序时,NLS_LANG是不是simplified chinese那就不好说了。你可以尝试用php调出oracle里的中文字段,看看有没有问题。      
我的表述可能不是很清楚,我详细的说一遍!
首先数据服务器是不会有问题的,因为我没有权限对它做除了读数据以外的任何事!
而且它正常运作了几年了。
网站服务器我是有权限的,这个项目我是后来接手的里面的一些情况我也不是很清楚
本来只需要IE浏览正常就行了
但是现在我为增强功能,需要在crontab中加入一个定时执行 "php /home/apache/test.php"
在IE 和telnet登录后运行是正常的!
我的理解是在linux中前景和背景的环境变量是不一样的
所以我在rc.sysinit中加入了
export LANG=zh_CN
export LC_ALL=zh_CN
export ORACLE_SID=oracle
export LD_LIBRARY_PATH=/home/oracle/home/lib
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=/home/oracle/home
export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
export ORACLE_OWNER=oracle
这些环境变量,但是没有效果,我不知道是加错了地方(rc.sysinit)还是其它的什么问题?
也许是我的变量放的太前面了,后面还有一些程序也同样对这些变量进行了设置
我会做这方面的尝试。我只是担心是不是钻了牛角尖了,也许大方向就是错误的
也许是PHP的解释方式执行程序还有一些设置。      
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK";export NLS_LANG

我在solaris下犯了个错误,是没有加引号,但不知道linux下是不是,你可以试试。

还有linux的profile不在rc.sysinit里加,在/etc/profile.d下有很多环境变量脚本,你可以自己建立一个。写法与.bash_profile差不多。

不用担心钻牛角尖,要发现问题,然后解决它,那种感觉很好的。