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

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

WBOY
Lepaskan: 2016-06-06 20:21:00
asal
1492 orang telah melayarinya

这篇文章主要介绍了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解码操作!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan