私は次のようなURLのパーセント(%)サインを渡そうとしています
%B6011000995504101^SB
しかし、私がエコーすると、それは戻ります
♦011000995504101^SB
URLに渡すのとまったく同じ値が必要です。
Urlencode()関数を使用しようとしましたが、次のような出力が得られます...
%B6011000995504101%5ESB
これに関して私を助けてください
URLで%
サインインを送信するには、代わりに%25
を送信します。
あなたの場合、PHPでパーセント記号を表示するには、文字列%25B6011000995504101^SB
をサーバーに渡す必要があります。
URLでは、パーセント記号には特別な意味があります。特殊文字をエンコードするために使用されます。たとえば、&
はパラメータ間のセパレータです。したがって、パラメータを実際に含む an &
にしたい場合は、代わりに%26
と記述します。パーセント記号は特殊文字のエンコードに使用されるため、also特殊文字であり、実際にパーセント記号を送信する場合はエンコードする必要があります。パーセント記号のエンコードは%25
です。
URLに生の文字列を含める前に、次のようにurlencodeを介して渡すことをお勧めします。
<?php
$original='%B6011000995504101^SB';
$updated=urlencode($original);
echo "<a href=\"some_page.php?$updated\">Link here</a>";
?>
受信ページは何をすべきかを知っています-この例をウェブサーバーで試してください:
<?php
if($_GET['argument']) {
echo "<p>You passed in the argument "$_GET[argument]"</p>";
}else {
echo "<p>No argument was passed.</p>";
}
$original='%B6011000995504101^SB';
$updated=urlencode($original);
echo "<a href=\"urlencode.php?argument=$updated\">Link here</a>";
?>
(ファイルに名前を付けますrlencode.php)