oracle apache php乱码问题
办法一
select * from V$NLS_PARAMETERS
$conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
while ($dat = oci_fetch_row($cur)) {
print_r(iconv('gb2312', 'utf-8', $dat[0])); //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');
}
或者 $c1 = oci_connect("scott", "tiger", $db, 'UTF8');
办法二:
安装好服务器后,用客户端看服务器的语言
sql>select * from V$NLS_PARAMETERS Where PARAMETER=''NLS_LANGUAGE'';
比如结果是"SIMPLIFIED CHINESE”
在Apache里加入环境变量
export NLS_LANGUAGE="SIMPLIFIED CHINESE"
在/etc/init.d/httpd里加入,源代码安装的Apache写一个脚本调用apachectl
或者需要/etc/init.d/httpd里加入里引入环境变量,由于本机没有那个启动文件,所以只能在apachectl里加入如下代码:
export NLS_LANGUAGE="SIMPLIFIED CHINESE"。
方法三:httpd.conf里加一行AddDefaultCharset GB2312 /off
方法四:htmlspecialchars() 支持双字节字符,比如汉字
htmlentities()支持单字节字符
方法五:apache的配置文件已经加了AddDefaultCharset GB2312
php的配置文件已经加了 AddDefaultCharset GB2312
相关文档:
作为实现动态网站的工具之一,PHP以其语法简单、高效快速和对数据库的广泛支持而深受用户欢迎。编写PHP程序和ASP一样需要在本机调试,为此需要配置一下调试环境。
有很多方案可以选择,这里提供两种较为简易的方法。
不管是哪种方法,都需要安装PHP。如果你是PHP使用者,你可能在网上找过PHP的安装资讯,它们几乎都说的 ......
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,在某些客户端电脑上SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点:
1、客户端禁用了cookie
2、浏览器出现问题,暂时无法存取cookie
3、php.ini中的session.use_trans_sid = 0或者编译 ......
使用popen结合SHELL命令也可以实现多进程并发编程。
实例如下:
<?php
//b.php文件
$file = 'testdir/file.txt';
for ($i=0;$i<10;$i++){
$fp = fopen($file,'a+');
fputs($fp, $i.'\r\n');
fclose($fp);
sleep(1);
}
?> ......
1 ORA-12571、ORA-03113、ORA-03114、ORA-01041
特征:客户端(代理或应用服务器)有时报这类断连错误
原因:如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。
措施:如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行
TC ......