欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP GET方法传中文参数,PHP接收不到

程序员文章站 2024-01-30 08:23:46
...
http://127.0.0.1/index.php?admin&q=module/user/list&site_id=50&a=userinfo&realname=%D2%FC%BD%A8%C0%A4

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去掉,所有代码在没改动的情况下,现在传参搜索又回归正常,坑爹中,唉。。。