Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pass a percent (%) sign in a url and get exact value of it using php

Tags:

php

urlencode

I am trying to pass percent (%) sign in url like

%B6011000995504101^SB 

but when I echo, it returns

♦011000995504101^SB 

I want exact same value as I pass it in URL.

I have tried to use urlencode() function, but it give me output like this...

%B6011000995504101%5ESB 

please help me regarding this

like image 273
Sumit Bijvani Avatar asked Jun 27 '13 12:06

Sumit Bijvani


1 Answers

Answer:

To send a % sign in a url, instead send %25.

In your case, in order for php to see a percent sign, you must pass the character string %25B6011000995504101^SB to the server.

Why:

In URLs, the percent sign has special meaning. Is used to encode special characters. For example, & is the separator between parameters, so if you want your parameter to actually contain an &, you instead write %26. Because the percent sign is used to encode special characters, it is also a special character, and so if you want to actually send a percent sign, it must also be encoded. The encoding for a percent sign is %25.

like image 121
IanPudney Avatar answered Oct 14 '22 17:10

IanPudney