ホームページ >PHPフレームワーク >ThinkPHP >thinkphpのページネーションで文字化けが発生する問題を解決する方法

thinkphpのページネーションで文字化けが発生する問題を解決する方法

WJ
WJ転載
2020-06-02 17:09:152982ブラウズ

thinkphpのページネーションで文字化けが発生する問題を解決する方法

文字化けの問題は、thinkphp ページング クラスで URL を構築する際の問題が原因です。Thinkphp のページング URL では、パラメーターを区切るために「/」が使用されます。URL 内でデータを渡すとき、 URLが暗号化されている場合、2度目に渡すと文字化けしてしまいますが、パラメータを「?」と「&」で区切ればこの問題は発生しません。
したがって、変更する内容は 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;
}

独学 PHP ブログ
2. 最終的に生成された URL を変更します
Page.class.php ファイルの 99 行目で、元の URL を置き換えます。

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

は次のように変更されます:

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

これら 2 つの手順を変更すると、thinkphp ページングの文字化けの問題は解決できます。

関連参照:thinkphp チュートリアル

以上がthinkphpのページネーションで文字化けが発生する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。