PHP语言的功能非常强大,它的影音范围也非常广泛。我们今天要为大家介绍的是PHP获取Oracle数据乱码的相关解决办法,希望对大家有所帮助。oracle的编码是GBK,PHP页面的编码是UTF-8,在PHP的页面进行了一次iconv转码,以保证编码统一
#t#出的问题是:
不管转码不转码,页面上从oracle获取的中文始终显示为“?”,即一个个的问号。
解决问题:
从mysql查询的角度出发,我觉得是少了set names ***,但问了DBA,oracle没有相关的命令行,所以排出这个问题;
又把问题的集中点放在转码上,折腾半小时,把程序里各个地方都加了测试参数,发现根源上的数据就有问题,不在转码上,于是写了单独一个php的oracle的查询页用来测试,结果如我所想还是乱码,所以立刻排出页面的问题;
***在google的帮助下找到一篇问章,说是需要在init.d下的httpd里引入环境变量,由于本机没有那个启动文件,所以只能在apachectl里加入如下代码:
- export NLS_LANGUAGE=”SIMPLIFIED CHINESE”
重启apache服务,问题解决!!