網(wǎng)站開發(fā)中使用ThinkPHP框架分頁時(shí)候參數(shù)帶中文,為何會(huì)查詢不到數(shù)據(jù)?

2023-02-19    分類: 網(wǎng)站建設(shè)

在開發(fā)的時(shí)候有一些網(wǎng)站需要做一個(gè)整站的搜索功能,當(dāng)然這個(gè)的搜索只包含一部分的內(nèi)容搜索,比如:新聞,產(chǎn)品,解決方案等幾個(gè)主要模塊的內(nèi)容搜索

搜索截圖

這個(gè)搜索功能一般是放在網(wǎng)站的導(dǎo)航或者底部,讓瀏覽網(wǎng)站的用戶可以清楚的看到,并且知道這個(gè)功能可以,在輸入關(guān)鍵字的情況下,可以快速的搜索到一些自己想要了解的產(chǎn)品,新聞等內(nèi)容。
在搜索的時(shí)候輸入中文搜索,接收到的參數(shù)是亂碼,查詢數(shù)據(jù)庫的時(shí)候查詢不到任何信息,首先反應(yīng)的是不是Form 使用get提交的時(shí)候有問題,換成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é)果是一臉懵,大腦里想的是這是什么情況?一臉的問號?為什么以前做的項(xiàng)目沒有遇到這樣的問題,新項(xiàng)目也是使用一樣的框架和方法,怎么這次就遇
到這樣的問題。我在遇到這個(gè)問題的時(shí)候想著自己能解決,就沒有問同事,就去度娘一頓搜索,終于找到了問題所在,說是瀏覽器的默認(rèn)編碼在作怪,需要在PHP頁面添加
header("Content-Type:text/html;charset=UTF-8");這個(gè)就沒有問題了,結(jié)果問題還真的解決了,能搜索出來對應(yīng)關(guān)鍵字的信息,試了試翻頁也沒有問題,然后就
是把項(xiàng)目上傳服務(wù)器進(jìn)行進(jìn)一步測試。結(jié)果就是又出現(xiàn)了新的問題,本地測試的時(shí)候一切正常,但是上傳到服務(wù)器的時(shí)候,這個(gè)搜索就出現(xiàn)一些原因不明的問題,在輸入關(guān)鍵字查詢的時(shí)候一切都是正常的,但是當(dāng)你搜索到的內(nèi)容比較多的時(shí)候,你想查看第二頁的搜索結(jié)果的時(shí)候,你會(huì)發(fā)現(xiàn)翻頁到第二頁的時(shí)候,頁面是沒有顯示任何數(shù)據(jù)的。這到底是什么問題呢?下圖是第一次搜索時(shí)顯示正常數(shù)據(jù)的圖片和翻頁時(shí)候顯示無數(shù)據(jù)的情況圖片:

網(wǎng)站截圖

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

分頁截圖

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

程序文件目錄

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

代碼

這個(gè)是需要替換前的內(nèi)容:

代碼2

這是替換后的:

當(dāng)前文章:網(wǎng)站開發(fā)中使用ThinkPHP框架分頁時(shí)候參數(shù)帶中文,為何會(huì)查詢不到數(shù)據(jù)?
轉(zhuǎn)載源于:http://www.muchs.cn/news35/238035.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站、微信公眾號、品牌網(wǎng)站制作網(wǎng)站收錄、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)