クエリ文字列でプラス記号 ( ) を保持する方法
Web 開発では、サーバーサイド スクリプトにパラメータと値を渡すためにクエリ文字列が重要です。ただし、「 」のような特殊文字がクエリ文字列に含まれる場合、問題が発生する可能性があります。
質問:
URL セマンティクスにおける特定の意味により消えることなく、クエリ文字列に " " を含めるにはどうすればよいですか?
答え:
" " 文字は、クエリ文字列内のスペースとして解釈されます。リテラル「 」を保持するには、その URL を「+」としてエンコードする必要があります。
説明:
URL エンコードでは、特殊文字が「%」で始まる 16 進数の同等の文字に置き換えられます。 「 」の場合、URL エンコード形式は「+」です。サーバー側スクリプトがクエリ文字列を処理する場合、通常はパラメータを URL デコードし、「+」を「」に変換し直します。
例:
次のクエリ文字列について考えてみましょう:
最初のクエリ文字列は「foo bar」としてデコードされますが、2 番目のクエリ文字列は「」文字を保持します。
JavaScript エンコード:
JavaScript でクエリ文字列を動的に生成している場合は、encodeURIComponent()
関数を使用してパラメーターを URL に追加する前にエンコードできます。
<code class="language-javascript">var encodedURL = "http://example.com/foo.php?var=" + encodeURIComponent(param);</code>
このエンコード プロセスは、リテラルの " " を保持したい場合にのみ必要であることに注意してください。 「 」をスペースとして解釈する場合は、URL エンコードは必要ありません。
以上がクエリ文字列でプラス記号 ( ) を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。