ThinkPHP采用GET方式获取中文参数查询无结果的解决方法 |
在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果 。查看数据库发现数据是存在的 。问题出在哪了呢? 形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用 参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果 。 浏览器默认的编码是GB2312的,而这个项目采用的是UTF-8编码的 。 $kw= $_GET[_URL_][2]; //错误的代码,在iis上能获取的参数,但是查询不出结果的 。 $kw= iconv("gb2312","utf-8",$_GET[_URL_][2]); //经过编码转换的,能够查询出结果的 。 另外,本方法只适用于iis环境 。 |