Heim >php教程 >php手册 >ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

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

WBOY
WBOYOriginal
2016-06-06 20:21:001486Durchsuche

这篇文章主要介绍了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()函数进行解码,再进行查询仍然没有结果。
紧接着测试转换编码iconv()函数,结果成功了。

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn