当前位置: 移动技术网 > IT编程>开发语言>PHP > ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

2019年03月22日  | 移动技术网IT编程  | 我要评论

斗气冤家好兄弟演员表,辛唐米娜老公,2.6亿

在用thinkphp做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果。查看数据库发现数据是存在的。问题出在哪了呢?

形如http:/www.xxxx.com/tags/index/%e8%87%aa%e5%8a%a8%e9%aa%8c%e8%af%81.html的调用

参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果。
紧接着测试转换编码iconv()函数,结果成功了。

浏览器默认的编码是gb2312的,而这个项目采用的是utf-8编码的。
下面就将错的代码和修正后的代码给大家看一下:

$kw= $_get['_url_']['2'];   //错误的代码,在iis上能获取的参数,但是查询不出结果的。
$kw= iconv("gb2312","utf-8",$_get['_url_']['2']); //经过编码转换的,能够查询出结果的。

另外,本方法只适用于iis环境
还要注意,$_get接收参数的时候本身就有urldecode转码功能,不需要再进行urldecode解码操作!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网