Punycode - стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов.
Важнейшей причиной введения Punycode был тот факт, что в утверждённой стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для английского и некоторых других языков с латинским алфавитом этого достаточно, однако другие языки, в том числе и с латинским алфавитом, содержат дополнительные символы, например ä, ö или ü.
Что такое IDN ?
IDN (сокр. от Internationalized Domain Names) - это доменные имена, содержащие символы национальных алфавитов, например: россия.рф
Домен IDN имеет две формы представления:
* имя записывается "обычными" символами (Unicode), например, россия.рф)
* имя записывается ASCII-символами для внутреннего представления имени в системе DNS (xn--h1alffa9f.xn--p1ai) Эта форма также имеет название ACE (ASCII Compatible Encoding)
Стандарт представления символов находится в документах:
* RFC 3490 Internationalizing Domain Names in Applications (IDNA)
* RFC 3491 Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)
* RFC 3492 Punycode: A Bootstring Encoding of Unicode for Internationalized Domain Names in Applications (IDNA)
Детальную информацию об использовании IDN доменов можно также получить на сайте http://idn.icann.org
Как работает IDN ?
Имя, которое пользователь вводит в адресной строке, автоматически преобразуется броузером в символы, соответствующие кодировке ASCII и допустимые к использованию в обычной системе DNS. Преобразованное доменное имя снабжается специальным префиксом "xn--", который показывает, что оно состоит из символов национальных алфавитов.
Какие браузеры поддерживают Punycode ?
Браузеры с поддержкой Punycode
* Arora
* Google Chrome
* Internet Explorer с 7-й версии (версии 5 и 6 только при помощи дополнений от сторонних разработчиков), для нормальной работы необходима настройка кодировок
* Konqueror
* Midori
* Mozilla Firefox
* Mozilla Application Suite
* Opera
* Safari
* SeaMonkey с версии 1.0
Поддержка кириллических доменов
* Internet Explorer, начиная с версии 7.0
* Mozilla Firefox, начиная с версии 3.6.4
* Chrome, начиная с 6 версии — полная поддержка.
* Safari, начиная с версии 5.0
* Opera
* Avant Browser, начиная с версии 2010 года, build 7
* SeaMonkey, начиная с версии 2.0.5
* GreenBrowser, начиная с версии 5.4.0609
* Opera Mini