PHP での URL デコードのトラブルシューティング
Unicode 文字を扱う場合、urldecode 関数を使用した PHP での URL デコードでは、予期しない結果が返される場合があります。 UTF-8 でエンコードされた文字を含む URL 文字列をデコードするには、urldecode と utf8_decode を組み合わせる必要があります。
例:
URL 文字列:
Ant%C3%B4nio+Carlos+Jobim
この文字列は Unicode 文字 Antônio を表します。 urldecode のみを使用してデコードしようとすると、
urldecode("Ant%C3%B4nio+Carlos+Jobim");
結果は次のようになります。
Antônio Carlos Jobim
これを修正するには、まず URL エンコードをデコードし、次に UTF-8 をデコードする必要があります。エンコード:
echo utf8_decode(urldecode("Ant%C3%B4nio+Carlos+Jobim"));
これにより、期待される文字列が正しく出力されます:
Antônio Carlos Jobim
Unicode 文字を含む URL を扱うときは、urldecode と utf8_decode の両方を使用して適切な文字列を確実に使用することが重要であることを覚えておいてください。デコード。
以上がPHP の URL デコードで Unicode 文字を処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。