首頁  >  文章  >  php框架  >  解決thinkphp分頁亂碼問題

解決thinkphp分頁亂碼問題

尚
轉載
2020-06-02 09:06:372495瀏覽

解決thinkphp分頁亂碼問題

thinkphp自帶的分頁類別有bug,例如當我們搜尋關鍵字時,關鍵字是中文,第二次點擊分頁的時候,就會亂碼,不能正常的顯示我們需要的頁碼。本文就這一問題給出解決方案。

出現亂碼的問題是因為thinkphp分頁類別中的,建構url時存在的問題,thinkphp的分頁url是使用"/"來分隔參數的,在將資料傳遞到url中時,經過url加密,第二次傳遞的時候就會亂碼了,而如果我們使用"?"和"&"來分隔參數的話,就不會出現這個問題了。

所以要修改的內容是thinkphp的分頁類別檔案:/ThinkPHP/Extend/Library/ORG/Util/Page.class.php檔案。

具體修改的程式碼是:

1、在thinkphp分頁類別檔案Page.class.php的最後加上一個自訂函數,用來取代url中的參數分隔符號,函數內容如下:

private function clin_page_url($parameter){
  $url = U('');
  $url = str_replace('.html', '?', $url);
  foreach ($parameter as $key => $value) {
     $url .= $key.'='.$value.'&';
  }
  $url = substr($url, 0,-1);
  return $url;
}

2、修改最終產生的url

在Page.class.php檔案的第99行,將原來的

$url=U('',$parameter);

修改為:

$url=$this->clin_page_url($parameter); // 生成标准的url

經過這兩步驟修改就可以解決thinkphp分頁亂碼的問題了。

推薦教學:《TP5

以上是解決thinkphp分頁亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:zixuephp。如有侵權,請聯絡admin@php.cn刪除