如何将带有希腊字符的域名转换为ascii URL?

例如: 在Firefox中输入παιχνιδια.com时,它会自动转换为xn--kxadblxczv9d.com 请建议一个用于进行此类转换的工具。 其中最简单的就是这个。同时转换和检查可用性。     
已邀请:
您可以使用任何支持“Libidn”的工具。快速搜索显示SimpleDNS可能对您有所帮助。 IDN在线有很多转换器,如果这对你来说足够了,你可以使用其中一个。     
如果您想在浏览器中执行此操作,请将此答案中的代码保存为puny.js,将以下代码保存到puny.html,然后在浏览器中加载该文件。
<html>
    <title>Punyconverter</title>
    <script type="text/javascript" src="puny.js"></script>
    <style type="text/css">
        input {width:300px;}
        label {width:100px; display:inline-block;}
    </style>
    <script type="text/javascript">
        onload = function( ) {
            var ASCII = document.getElementById("ASCII");
            var Unicode = document.getElementById("Unicode");
            var Input = document.getElementById("Input");

            Input.onkeyup=function(){
                ASCII.value = punycode.ToASCII( this.value);
                Unicode.value = punycode.ToUnicode( this.value);
            }
        };
    </script>
</html>
<body>
    <h1>Convert puny coded IDN</h1>
    <div><label for="Input">Input</label><input id="Input" type="text"></div>
    <div><label for="ASCII">ASCII</label><input id="ASCII" type="text" readonly="readonly"></div>
    <div><label for="Unicode">Unicode</label><input id="Unicode" type="text" readonly="readonly"></div>
</body>
    
使用Punycode系统对国际化域名(即具有非ASCII字符的域名)进行编码。     
您使用Python编码和解码IDNA:
>>> print u'παιχνιδια'.encode('idna')
xn--mxaaitabzv9d
>>> print 'xn--mxaaitabzv9d'.decode('idna')
παιχνιδια
    
Perl中的标准模块也可以在Apache模块中使用。
use URI;
#insert sitename in next:
$sitename = "..";
my $uri = URI->new( $sitename,'http');
if ($uri->scheme) { print $uri; }
    

要回复问题请先登录注册