国际域名

International Domain Names

当我导航到 aртем.example.com 时,网络浏览器会将 URL 转换为 xn--a-jtbvok.example.com。有没有办法使用 PHP 将 xn--a-jtbvok 转换回 aртем

目前我正在使用 $_SERVER['HTTP_HOST'] 来获取请求的 URL。

现场示例:aртем.lekintepls.se and åäö.lekintepls.se

我不知道这种现象叫什么,如果这是重复的,我很抱歉。

引用 here, the RFC 1738 说:

Thus, only alphanumerics, the special characters "$-_.+!*'(),", and reserved characters used for their reserved purposes may be used unencoded within a URL.

这表明不应在 URL 中使用 unicode 字符。

这种表示法称为 Punycode 或 IDNA(应用程序中的国际化域名)。

您可以使用 idn_to_utf8 and idn_to_ascii 在两种表示法之间进行转换。