我正在做一个网站来检查、注册等域,我必须使其符合 IDN。现在我有这样的事情:
echo $domain;
$domain = idn_to_ascii($domain);
echo $domain;
$domain = idn_to_utf8($domain);
echo $domain;
我得到了这个:
testing123ásd123 xn--testing123sd123-wjb testing123ĂĄsd123
如您所见,解码后的字符串与原始字符串不同,我还尝试使用http://phlymail.com/en/downloads/idna/download/的类来执行此操作,并且得到相同的结果
我试过使用:
$charset="UTF-8";
echo $domain;
$domain = idn_to_ascii($domain, $charset);
echo $domain;
$domain = idn_to_utf8($domain);
echo $domain;
我得到了完全一样的(除了编码的字符串略有不同)
有任何想法吗?
编辑:问题解决了!在将字符串转换为 puny 代码时遇到此问题(在 PHP 中,使用 phlyLabs 的 punycode 字符串转换器) 原始字符串在 iso-8859-2 中并在 UTF-8 中解码,现在我需要找到如何使其成为 iso-8859- 2 再次,但谷歌可以帮助我。有什么模组吗?我该怎么处理这个问题?关闭它,删除它?就这样吧?