PHP页面URL传值给控制器,PHP的url传值

本文探讨了PHP中URL编码与解码的问题,特别是在GET方式传递中文参数时可能出现的乱码情况。通过使用`urlencode()`函数进行编码和`iconv()`函数进行解码,可以解决不同字符集间的转换问题,确保UTF-8编码的PHP页面能正确显示中文参数。
摘要由CSDN通过智能技术生成

重点是URL传值的编码格式:

出现的问题;不论是PHP文件内容,PHP文件,还是html文件......都是设置的统一的编码格式(utf-8),但是我在浏览器地址栏输入的URL地址是www.XXXXX.com/index.php?m=Index&a=index&text=你好,按照理解,$_GET['text']=‘你好’;但是显示时得到的是乱码:“以方框表示的”;

解决:$data = iconv( "gb2312",

"UTF-8//IGNORE" , $_GET["text"]);

总结:

PHP的url传值

PHP中传值有表单传值(POST),URL传值(GET)。

对于POST传值大家在编程上也没值得注意的地方,对于接收POST的值PHP如:

$temp=$_POST[text];

这样就可以了,上例中,text是指表单的名。而GET传值则:

$temp=$_GET[text];

上面这句接收的是URL的值,如:http://www.XXXX.com?text=你好,这样的话,$temp的值就为“你好”;

好了,PHP的两种传值方式都说了,这里要着重说明的是:URL传值,因为POST是支持任何编码的格式,而GET却非常少,所以我们传值是一般就要把他转成一种大家都能认同的格式。

举个例子,我要传送繁体的字,用GET接收的话就会乱码,所以要转化成标准化才行,在PHP中urlencode()这个函数就应运而生了。使用方法:

href="http://www.XXXX.com/?text=<?php echo

urlencode("PHP的url传值");?>">PHP的url传值

像上面的URL传值就会把PHP的url传值转成博这种形式的。

而在接收时无顺用其它函数转化,直接用$temp=$_GET[text];就可以了

在url地址可以这样书写:编码问题,传参数的时候可以先对url进行一下编码,比如

$keyword = "经理岗";

$url = "page.php?keyword=".urlencode($keyword);

url传中文参数乱码问题

问题:

现在我想在地址栏内容输入 "demo.php?name=中文"。

然后在demo.php中接收并显示,这时,demo.php如果是utf-8编码的话,会出现乱码,而如果是gb2312编码的话,则是正常的。(以上是IE6的环境下)

请问,如果我需要demo.php为utf-8编码,而同时又能正常显示中文参数,该怎么办?解决 :

$data = iconv( "gb2312", "UTF-8//IGNORE" , $_GET["name"]);

echo $data;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值