我尝试使用 OS (Ubuntu) 中的 idn 函数将国际化域名 (IDN) 转换为其等效的 punycode。这是我的简单脚本:
<?php
$dom = "名がドメイン.net";
echo $dom."\n";
exec("idn $dom", $out, $var);
print_r($out);
echo "\n";
echo "result :$var\n";
?>
此代码无法在我的浏览器中运行,$out 是一个空数组并且 $var = 1(猜测有错误)。但是当我用 php-cli 运行代码时,一切都很好,结果应该是:
名がドメイン.net
Array
(
[0] => xn--v8jxj3d1dzdz08w.net
)
result :0
你有什么线索吗?