title: Urlencode & Urldecode in php
body: <p><strong>On server</strong>:</p>
  
  <pre><code>Browser Url---&gt;http://www.mysite.com/?email=external%2Buser%40gmail.com
  
  Email passed in browser---&gt;external%2Buser%40gmail.com 
  
  Email After Encode---&gt;external%5Euser%40gmail.com /* using urlencode function */
  
  Email After Decode---&gt;external^user@gmail.com /* using urldecode function */
  </code></pre>
  
  <p><strong>On Localhost</strong>:</p>
  
  <pre><code>Browser Url---&gt;http://localhost/test.php?email=external%2Buser%40gmail.com
  
  Email passed in browser---&gt;external%2Buser%40gmail.com
  
  Email After Encode---&gt;external%2Buser%40gmail.com /* using urlencode function */
  
  Email After Decode---&gt;external+user@gmail.com /* using urldecode function */
  </code></pre>
  
  <p>In above code i don't know why server result is different than localhost. on server <code>%2B(+)</code> is converted into <code>%5E(^)</code> while <code>urlencode</code>. I want same result as localhost. Please help me on this.</p>