我怎么能在PHP中编码和解码来自IDN的网址?

我正在做一个网站检查,注册等域名,我必须使其符合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;
我得到完全相同(除了编码的字符串略有不同) 有任何想法吗? 编辑: 问题解决了!将此字符串转换为微弱代码时出现此问题(在PHP中,使用phlyLabs的punycode字符串转换器) 原始字符串在iso-8859-2中,并在UTF-8中解码,现在我需要找到如何再次使它成为iso-8859-2,但谷歌可以帮助我。 任何mods?该怎么办?关闭它,擦除它?这样离开?     
已邀请:
正如您已经指出的那样,
ĂĄ
似乎是非UTF8文档中显示的
á
字符的UTF8表示。 您可以使用iconv()在字符集之间进行转换。但是,请注意,非Unicode的字符集不能表示完整的国际字符集,因此必须将缺少的字符转换为HTML实体。例如。:
<?php

$domain = idn_to_utf8($domain);
echo htmlentities($domain, ENT_COMPAT, 'UTF-8');

?>
无论如何,在整个项目中使用UTF-8可能更容易。     

要回复问题请先登录注册