时时商务社区
标题:
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
[打印本页]
作者:
yj1281
时间:
2018-2-14 05:56
在用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解码操作!
您可能感兴趣的文章:
thinkphp的CURD和查询方式介绍
ThinkPHP多表联合查询的常用方法
ThinkPHP中的常用查询语言汇总
thinkphp实现like模糊查询实例
ThinkPHP查询语句与关联查询用法实例
thinkphp区间查询、统计查询与SQL直接查询实例分析
thinkphp数据查询和遍历数组实例
ThinkPHP中关联查询实例
thinkPHP5实现的查询数据库并返回json数据实例
ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
ThinkPHP5查询数据及处理结果的方法小结
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2