What is URL encoding?
URL encoding is a way to encode certain characters that a web server or web browser normally can’t deal with. In the data that is sent to a web server, and on to the script as well, as part of the GET or POST methods, the data cannot contain certain characters, such as spaces ( ), ampersands (&), percent signs (%), and equals signs (=), amongst others. These types of characters are automatically encoded by the web browser into a format that has a % sign followed by an ASCII character code in hexadecimal notation, e.g. %3D is an =, %25 is an %, %20 is a space. When you write a CGI script, some languages have built-in methods for URL encoding and decoding. Some do not. Perl does not, however there is a Perl module called CGI.pm that contains subroutines to do this decoding for you.