PHP GET方法传中文参数,PHP接收不到
LINUX 服务器下,$data['realname']=$_GET['realname'];,该方法获得不了realname参数,本地测试没有问题,求各位大神解释!!
回复讨论(解决方案)
var_dump($_GET);//看看输出什么数据
谢谢你的回复,slog("用户姓名为:".$data ['realname']);
我用自写的方法打日志,打不出中文,但是英文传参能传进来并打印出来,怀疑是linux服务器上打不出中文来,在本地windows下测试日志打印出来没问题,有什么好的建议么?
header('Content-type: text/html;charset=GBK');echo urldecode('%D2%FC%BD%A8%C0%A4');尹建坤
header('Content-type: text/html;charset=GBK');echo urldecode('%D2%FC%BD%A8%C0%A4');尹建坤
++.
header('Content-type: text/html;charset=GBK');
echo urldecode('%D2%FC%BD%A8%C0%A4');
这段加上,代码传到服务器上,本地访问服务器,确实打印出我的名字了啊
slog(mb_convert_encoding("用户姓名为:".$data ['realname'], "UTF-8","GBK"));
slog(mb_convert_encoding("用户邮箱为:".$data ['email'], "UTF-8","GBK"));
slog(mb_convert_encoding("用户姓名为:".$data ['realname'], "GBK","UTF-8"));
slog(mb_convert_encoding("用户邮箱为:".$data ['email'], "GBK","UTF-8"));
而且估计也不是编码格式问题,我这样转化编码格式打印,也打不出日志,求解释啊啊啊啊啊啊!!
问题出在 slog 函数中,你在外面找原因自然不行的
不是这样的,加slog是因为之前传参数搜索不到,要打出来看看,英文LOG也都打出来了,中文打不出,现在我把slog去掉,所有代码在没改动的情况下,现在传参搜索又回归正常,坑爹中,唉。。。