|
在用Thinkphp做tags標(biāo)簽的時(shí)候,出現(xiàn)了一個(gè)問題,就是能獲取到參數(shù),但是查不出相應(yīng)的結(jié)果。查看數(shù)據(jù)庫發(fā)現(xiàn)數(shù)據(jù)是存在的。問題出在哪了呢?
形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的調(diào)用
參數(shù)是經(jīng)過urlencode()編碼了的,使用urldecode()函數(shù)進(jìn)行解碼,再進(jìn)行查詢?nèi)匀粵]有結(jié)果。
緊接著測試轉(zhuǎn)換編碼iconv()函數(shù),結(jié)果成功了。
瀏覽器默認(rèn)的編碼是GB2312的,而這個(gè)項(xiàng)目采用的是UTF-8編碼的。
下面就將錯(cuò)的代碼和修正后的代碼給大家看一下:
$kw= $_GET['_URL_']['2']; //錯(cuò)誤的代碼,在iis上能獲取的參數(shù),但是查詢不出結(jié)果的。$kw= iconv("gb2312","utf-8",$_GET['_URL_']['2']); //經(jīng)過編碼轉(zhuǎn)換的,能夠查詢出結(jié)果的。
另外,本方法只適用于iis環(huán)境。
還要注意,$_GET接收參數(shù)的時(shí)候本身就有urldecode轉(zhuǎn)碼功能,不需要再進(jìn)行urldecode解碼操作!
php技術(shù):ThinkPHP采用GET方式獲取中文參數(shù)查詢無結(jié)果的解決方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。