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

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

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

網(wǎng)站截圖

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

分頁(yè)截圖

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

程序文件目錄

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

代碼

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

代碼2

這是替換后的:

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

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

廣告

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

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