punycode, dominios con ñ

Bueno, ya hace bastante tiempo que los IDN o Nombres de Dominio Internacionalizados están en funcionamiento. Para lo que a nosotros nos interesa son dominios que incluyen ñ ( hay muchos más caracteres UTF8 que están incluidos). Si administras algún servidor de correo, web o dns y te encuentras ante la situación de tener que configurar un dominio de este tipo, sólo tienes que tener en cuenta un par de cosas. Realmente lo que hace tu navegador, si es que es compatible, es hacer una conversión de UTF8 a punycode. Es decir, si quisieses entrar en españa.com, tu navegador convertiría la ñ automáticamente a una serie de caracteres, de forma transparente, que al leerlos te parecerían raros, pero que los servicios de resolución de nombres y demás, si entienden. Por ejemplo, españa quedaría así:

En UTF-8: españa.com
En Punycode: xn--espaa-rta.com

En tu navegador relamente no vas a ver nada. Se va a mantener la versión UTF8. Algunos navegadores más antiguos te hacen la conversión automáticamente y muestran la versión punycode, lo que te puede despistar.
Entonces qué hay que hacer. Primero pasar el dominio con eñes a punycode.¿Cómo? Puedes usar cualquier conversor a punycode online, por ejemplo…. Una vez que tienes la cadena en punycode das de alta tu dominio en tu servicio dns usando el dominio en punycode. Si tienes un script hecho…antes ponias ./altaDominio.sh españa.com y te fallaba todo, ahora pones ./altaDominio.sh xn--espaa-rta.com . ¿Y cómo creamos un virtual host para este dominio punycode?. Pues igual. Si usas apache, el ServerName o un ServerAlias seria:

ServerName xn--espaa-rta.com

Y lo mismo al crear el dominio de correo. Ahora sólo tenemos que confiar en que los clientes web, clientes de correo, etc, te hagan la conversión correctamente. Para los clientes de correo y compañias de webmail aún suele haber problemas. Pero usando la versión punycode directamente del dominio IDN no debería haber ningún problema.

Hay un montón de caracteres de diferentes lenguas soportados:
Latín; griego; alfabeto cirílico; armenio; hebreo; árabe; Syriac; Thaana; Devanagari; bengalí; Gurmukhi; Oriya; tamil; Telegu; Kannada; Malayalam; Sinhala; tailandés; Lao; Tibetano; Myanmar; georgiano; Hangul; Etíope; Cherokee; Aborigen canadiense Syllabics; Ogham; Rúnico; Khmer; mongol; Han (japonés, chino, ideogramas coreanos); Hiragana; Katakana; Bopomofo y Yi….. y según la extensión del dominio puede que acepten unos caracteres u otros. Por ejemplo un dominio .cn de China, puede que sólo acepte caracteres Chinos.