url过码后,php程序获取参数出现乱码,该怎么解决

发布网友 发布时间:2022-04-06 04:43

我来回答

3个回答

懂视网 时间:2022-04-06 09:05

PHP接收GET中文参数乱码的解决方案:1、使用iconv函数,代码为【$str = iconv("gb2312","utf-8",$str)】;2、使用函数【encoding】,代码为【mb_convert_encoding $str】。

PHP接收GET中文参数乱码的解决方案:

如果gbk编码的页面生成的地址链接到utf-8的页面,gbk页面的中文是按照gbk的格式编码传送给下个页面,那么utf-8编码接收后肯定会出现乱码。

IIS的url重写模块,重写后的中文编码也是gbk,如果你的页面是utf-8编码,那么重写参数将会失效。

像这些情况,我们就需要使用php内置的转码函数来处理编码问题了:

方案1:

$str = iconv("gb2312","utf-8",$str);

方案2:

mb_convert_encoding($str, "utf-8", "gb2312");

相关学习推荐:php编程(视频)

热心网友 时间:2022-04-06 06:13

程序是用utf-8编码写的吧?国内用户的浏览器大部分默认编码都是GBK,如果URL中含有中文参数,这个参数就是GBK编码的,在utf-8编码的程序中跑肯定就是乱码。需要转一下码:
mb_convert_encoding(参数, 'UTF-8', 'GBK')
或者
iconv("GBK", "UTF-8//IGNORE", 参数);

热心网友 时间:2022-04-06 07:31

string urldecode(string $str)
使用urldecode()

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com