解決策: js を使用して URL 内の中国語文字をエスケープ エンコードします。
このようなリンクをクリックした後の有効期限:
引用: http://127.0.0.1/shop/product_list.php?p_sort=PHP%u5F00%u53D1%u8D44%u6E90%u7F51
このような効果が発生しており、PHPのurldecode()やbase64_decode()を使用してデコードできないことは明らかです。
解決策、PHP を使用して逆解関数を作成します:
JS エンコードは自動的に UTF-8 に変換されるため、正しい結果を得るにはエンコード変換を実行する必要があります。そうしないと、中国語の文字化けが発生します。
コードは次のとおりです:
この時点で、jsのエスケープエンコーディングを正常にデコードできました。
は次のとおりです:
引用: PHP Development Resource Network
さらに、PHPを使用してjsのエスケープエンコーディングを実装する関数を見つけました:
このような問題に遭遇したことがありますか?