The urls can only contain ASCI characters. So in order to send over the internet special characters, these should be converted first to the ASCII format.
Different languages like French or German has diacritics and accent marks, these types of charcters are not available in ASCII alphabet. Also, you cannot send directly a space in a url. In all theses situations, your url should be encoded. For example, a space will be converted to ascii in this format:
For all types of characters there is a ASCII equivalent that starts with percent(%).