ThinkPHP采用GET方式獲取中文參數(shù)查詢無結(jié)果的解決方法
在用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é)果。
緊接著測(cè)試轉(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解碼操作!
相關(guān)文章
ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法實(shí)例詳解
這篇文章主要介紹了ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法,結(jié)合實(shí)例形式詳細(xì)分析了Volist標(biāo)簽的功能,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03
ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join實(shí)例
這篇文章主要介紹了ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join的方法,實(shí)例展示了ThinkPHP中query方法的使用技巧,需要的朋友可以參考下2014-12-12
AES加解密在php接口請(qǐng)求過程中的應(yīng)用示例
在我們的編程的過程中,經(jīng)常會(huì)遇到加密的情況,怎么才會(huì)合理運(yùn)用,本篇文章主要介紹了AES加解密在php接口請(qǐng)求過程中的應(yīng)用示例,有需要的可以了解一下。2016-10-10
ecshop實(shí)現(xiàn)smtp發(fā)送郵件
這篇文章主要介紹了ecshop實(shí)現(xiàn)smtp發(fā)送郵件,需要的朋友可以參考下2015-02-02

