Until 2003, domain names were only allowed to consist of letters from the Latin alphabet, the numbers 0 to 9, and a hyphen. These limited options can be explained by taking a closer look at the domain name system (DNS). The service, which is also responsible for translating URLs into IP addresses, operates on a naming scheme that’s based on the American Standard Code for Information Interchange (ASCII). This system is mostly built on English-language keyboards and isn’t very representative for an international project like the internet.
In order to compensate for this major drawback, a system called the Internationalizing Domain Names in Application (IDNA) was called into action. The goal of this mechanism is to define a standardized translation from Unicode into ASCII, making it possible to display characters of every known alphabet in internet domains.
IDNA is considered to be one of the biggest revolutions in the history of the internet. This new system is particularly helpful for individuals using Asian, African, or Arabic character systems. Theoretically, every Unicode text can be used in an internationalized domain name. In practice, however, domain registries are able to individually decide which special characters can be used for registration. Selection tends to vary, as domain registries are able to individually determine which special characters can be used for registration. This means that symbols differ depending on which top-level domain (e.g. .com, .mx, .ca, etc.) is used.