ホームページ > バックエンド開発 > PHPチュートリアル > PHP で URL デコードする際のエンコードの不一致の問題を解決するにはどうすればよいですか?

PHP で URL デコードする際のエンコードの不一致の問題を解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-17 15:09:03
オリジナル
559 人が閲覧しました

How to Resolve Encoding Mismatch Issues When URL Decoding in PHP?

PHP での URL デコード: エンコードの不一致の問題

PHP で URL エンコードされた文字列を操作する場合、エンコードの競合に関連して問題が発生することがあります。 。このようなケースの 1 つは、URL エンコードと UTF-8 エンコードの両方を含む URL 文字列をデコードするときに発生します。

次の URL 文字列について考えてみましょう:

Ant%C3%B4nio+Carlos+Jobim
ログイン後にコピー

この文字列は、次のようにデコードすることを目的としています。 :

Antônio Carlos Jobim
ログイン後にコピー
ログイン後にコピー

ただし、urldecode() 関数を使用すると、次のようになります。

Antônio Carlos Jobim
ログイン後にコピー

この矛盾は、元の文字列が URL エンコードされているだけでなく、UTF エンコードされているために発生します。 8 がエンコードされました。この問題を解決するには、UTF-8 エンコーディングを Unicode に変換する utf8_decode() 関数を使用する必要があります。

次のコード スニペットは、解決策を示しています。

<code class="php">echo utf8_decode(urldecode("Ant%C3%B4nio+Carlos+Jobim"));</code>
ログイン後にコピー

これは正常に実行されます。期待される文字列を出力します:

Antônio Carlos Jobim
ログイン後にコピー
ログイン後にコピー

以上がPHP で URL デコードする際のエンコードの不一致の問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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