国际域名
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 在两种表示法之间进行转换。
当我导航到 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 在两种表示法之间进行转换。