取得した URL 内の中国語パラメータが文字化けする問題を解決する
php メソッド: 1. PHP サンプル ファイルを作成します; 2. "$_GET" を通じて URL 内のパラメータを取得します (構文は "$_GET[ "param "]"; 3. "urldecode()" を使用してデコードし、対応する操作を実行します; 4. 最後に、"urlencode()" を使用して結果をエンコードして返します。
このチュートリアルのオペレーティング システム: Windows 10 システム、php8.1.3 バージョン、Dell G3 コンピューター。
PHP は、「urlencode()」および「urldecode()」関数を使用して、文字化けした中国語パラメータを解決できます
1, urlencode()
urlencode() 関数は、URL を簡単に渡すことができるように、文字列を URL セーフな形式に変換します。英数字以外の文字はすべてパーセント記号 (%) に置き換えられ、その後に 2 桁の 16 進数で表されるエンコードされた値が続きます。
例:
$str = "中文"; $url_encoded = urlencode($str); echo $url_encoded; // 输出:%E4%B8%AD%E6%96%87
注: urlencode() 関数は、ASCII コード以外の文字をエンコードしません。非 ASCII 文字を待機している場合は、まず UTF-8 エンコーディングに変換する必要があります。
2. urldecode()
urldecode() 関数は、urlencode() でエンコードされた文字列を元の文字列に復元するために使用されます。
例:
$str = "%E4%B8%AD%E6%96%87"; $decoded_str = urldecode($str); echo $decoded_str; // 输出:中文
サンプル コード:
// 设置 encoding 为 UTF-8 mb_internal_encoding("UTF-8"); // 获取 URL 参数 $str = $_GET["param"]; // 将参数进行 URL 解码 $str = urldecode($str); // 进行相应操作 // ... // 将结果进行 URL 编码 $result = urlencode($result); // 返回结果 echo $result;
この例では、最初に $_GET を通じて URL が取得されます。パラメータを取得し、urldecode() を使用してそれらをデコードし、対応する操作を実行して、最後に urlencode() を使用して結果をエンコードして返します。
以上がPHPのURLの中国語パラメータが文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。