urlencode と rawurlencode について: どちらを優先しますか?
文字列をエンコードして URL を作成する場合、PHP には 2 つのオプションがあります: urlencode() と rawurlencode ()。各メソッドは文字エンコーディングの処理方法が異なります。
rawurlencode は、RFC 1738 (PHP 5.3.0 以前) および RFC 3986 (PHP 5.3.0 以降) に準拠しています。 -_.~ を除く、英数字以外の文字 (%-エスケープ) をエンコードします。これは主に、リテラル文字が URL 区切り文字として誤って解釈されないようにすることを目的としています。
対照的に、urlencode は、application/x-www-form-urlencoded メディア タイプに従って、スペースをプラス記号としてエンコードします。 。これは、フォーム データ送信のエンコードによく使用されます。
適切なオプションの選択
urlencode() と rawurlencode() のどちらを選択するかは、要件によって異なります。
さらに考慮事項
チルダ文字 (~) は、PHP 5.3 より前は RFC 1738 に従って rawurlencode によってエンコードされていましたが、現在は RFC 3986 に従ってエンコードされていません。
RFC 2396 は有効な URI を概説しています。構文。クエリ コンポーネント内の 、&、$ などの文字は予約されており、エンコードされる。 rawurlencode はこの仕様に準拠しています。
最終的に、urlencode() と rawurlencode のどちらを選択するかは、アプリケーションの目的と特定のニーズによって異なります。
以上が「urlencode() と rawurlencode(): どちらの PHP URL エンコーディング関数を使用する必要がありますか?」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。