我可以在软件中设置一个电子邮件帐户,该软件不声称使用 punycode 域名支持 IDN,但收件人通常似乎来自同一个 punycode 域。gmail.com 是一个例外,它对域名进行解码并使其看起来合理。
当收件人看到原始的punycode时,这是谁的错?标头中是否缺少某些东西,表明应该解码 punycode,或者指示应该如何显示发件人地址?或者电子邮件是否打算使用以 UTF-8 编码而不是 punycode 编码的域发送?
还是收件人的软件在显示时没有自动解码punycode的错误?
因此,当我想将我的用户链接到我总是使用的特定页面时(在 PHP 中):
"http://" . $_SERVER["HTTP_HOST"] . "/page.php"
确保链接指向他们当前正在浏览的页面(而不是服务器别名之一)。
但是对于 IDN 名称,HTTP_HOST
设置为xn--hemmabst-5za.net
(例如) - 这当然可以,但看起来不太好。在这些情况下(在这种情况下 - )有没有办法HTTP_HOST
设置正确的 IDN 名称hemmabäst.net
?
在涉及 PHP 之前,我宁愿在 Apache 中执行此操作,因为否则我将不得不替换我对$_SERVER["HTTP_HOST"]
.
有任何想法吗?