发布网友 发布时间: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()