文字化けの問題は、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 サイトの他の関連記事を参照してください。