在開發(fā)的時候有一些網(wǎng)站需要做一個整站的搜索功能,當(dāng)然這個的搜索只包含一部分的內(nèi)容搜索,比如:新聞,產(chǎn)品,解決方案等幾個主要模塊的內(nèi)容搜索
這個搜索功能一般是放在網(wǎng)站的導(dǎo)航或者底部,讓瀏覽網(wǎng)站的用戶可以清楚的看到,并且知道這個功能可以,在輸入關(guān)鍵字的情況下,可以快速的搜索到一些自己想要了解的產(chǎn)品,新聞等內(nèi)容。

在搜索的時候輸入中文搜索,接收到的參數(shù)是亂碼,查詢數(shù)據(jù)庫的時候查詢不到任何信息,首先反應(yīng)的是不是Form 使用get提交的時候有問題,換成post提交試一
下,發(fā)現(xiàn)還是一樣的結(jié)果,這是前端提交代碼:
<form action="{:urlrotue('***/index')}" method="get">
<div class="row por">
<input type="submit" value="" class="submit0">
<input type="text" placeholder="請輸入搜索內(nèi)容" class="search-input" name="keywords">
<span class="search-close"></span>
</div>
</form>
面對這樣的結(jié)果是一臉懵,大腦里想的是這是什么情況?一臉的問號?為什么以前做的項目沒有遇到這樣的問題,新項目也是使用一樣的框架和方法,怎么這次就遇
到這樣的問題。我在遇到這個問題的時候想著自己能解決,就沒有問同事,就去度娘一頓搜索,終于找到了問題所在,說是瀏覽器的默認(rèn)編碼在作怪,需要在PHP頁面添加
header("Content-Type:text/html;charset=UTF-8");這個就沒有問題了,結(jié)果問題還真的解決了,能搜索出來對應(yīng)關(guān)鍵字的信息,試了試翻頁也沒有問題,然后就
是把項目上傳服務(wù)器進(jìn)行進(jìn)一步測試。結(jié)果就是又出現(xiàn)了新的問題,本地測試的時候一切正常,但是上傳到服務(wù)器的時候,這個搜索就出現(xiàn)一些原因不明的問題,在輸入關(guān)鍵字查詢的時候一切都是正常的,但是當(dāng)你搜索到的內(nèi)容比較多的時候,你想查看第二頁的搜索結(jié)果的時候,你會發(fā)現(xiàn)翻頁到第二頁的時候,頁面是沒有顯示任何數(shù)據(jù)的。這到底是什么問題呢?下圖是第一次搜索時顯示正常數(shù)據(jù)的圖片和翻頁時候顯示無數(shù)據(jù)的情況圖片:

在遇到這種情況的時候我想大家的第一反應(yīng)肯定跟我一樣,是不是上傳服務(wù)器的時候有什么東西沒保存就上傳上去了,然后去本地把文件一個個的檢查一遍,然后確
認(rèn)沒問題再上傳一遍,但是結(jié)果還是一樣的,翻頁的時候還是沒有查詢到任何數(shù)據(jù)。
然后就是各種排查,看看是不是分頁的時候傳的參數(shù)名是不是跟第一次的時候不一樣,是不是a鏈接傳參的時候漏掉了關(guān)鍵字,結(jié)果當(dāng)然都不是這些的問題,下圖是A鏈接的跳轉(zhuǎn)鏈接圖片:

發(fā)現(xiàn)也不是這個問題,然后就是繼續(xù)問度娘找問題原因,不知道是不是我搜索的問題一直沒有問到關(guān)鍵點,所以一直沒有找到對的方法,實在是沒辦法了就問了一下同事,同事說的是因為參數(shù)帶中文出現(xiàn)了亂碼的原因,亂碼?;亂碼我不是已經(jīng)處理了嗎?怎么又有問題。很是不解,無奈叫同事把他處理過的ThinkPHP框架的分頁類發(fā)我一份,我替換看一下有沒有問題
下圖:

結(jié)果還是一樣的問題,然后只能繼續(xù)問度娘,這次有了提示搜索的問題是“ThinkPHP分頁有中文參數(shù)出現(xiàn)亂碼”這個關(guān)鍵字,這次終于找到了問題,需要修改一下內(nèi)置分頁類的Page.class.php的內(nèi)容,然后就是按操作把對應(yīng)的內(nèi)容給修改替換,上傳服務(wù)器測試,這次沒問題了顯示正常,翻頁也是正常的,下面是測試結(jié)果:
這個是需要替換前的內(nèi)容:

這是替換后的:

問題到這里就已經(jīng)解決了,但是也讓我學(xué)到了很多,很多問題只要找到對應(yīng)的關(guān)鍵點就能很快解決,在一個人走進(jìn)死胡同的時候可以問一下身邊的人,他們能給你提供一個全新的方向,這樣也能讓你快速的找到問題的所在。在這里提醒一下,各位遇到問題不應(yīng)一味的自己研究,其實可以問一下你的同事或者前輩,畢竟你沒遇到的問題,別人可能遇到過,這樣還有助同事之間的交流,增加友誼。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://723918.com/news/6035.html