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

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

リリース: 2020-06-02 09:06:37
転載
2548 人が閲覧しました

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

thinkphp の組み込みのページング クラスにはバグがあります。たとえば、キーワードを検索するとキーワードは中国語になり、2 回目にページングをクリックすると文字化けしてしまいます。正常に表示できません。必要なページ番号です。この記事では、この問題の解決策を説明します。

文字化けの問題は、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
ログイン後にコピー

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

推奨チュートリアル:「TP5

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

関連ラベル:
ソース:zixuephp
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート