查询

idn_to_utf8()函数—用法及示例

「 将国际化域名(IDN)转换为 UTF-8 编码 」


函数名:idn_to_utf8()

适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8

用法:string idn_to_utf8 ( string $domain [, int $options = 0 [, int &$errorcode ]] )

说明:idn_to_utf8() 函数将国际化域名(IDN)转换为 UTF-8 编码。它使用 IDN 扩展库实现,该库必须在 PHP 中启用。

参数:

  • $domain:要转换的国际化域名。
  • $options:可选参数,用于指定转换选项。默认为0,表示不使用任何选项。以下选项可以通过按位或(|)组合使用:
    • IDNA_DEFAULT:默认选项,将域名转换为 Unicode 值,不进行任何额外处理。
    • IDNA_ALLOW_UNASSIGNED:允许使用未分配的 Unicode 码位。
    • IDNA_USE_STD3_RULES:强制使用 STD3 规则,确保域名符合 DNS 规范。
    • IDNA_CHECK_BIDI:检查域名中的双向字符顺序(Bidi)。
  • $errorcode:可选参数,用于接收转换过程中的错误码。

返回值:返回转换后的 UTF-8 编码字符串,如果转换失败则返回 FALSE。

示例:

$domain = 'xn--fsqu00a.xn--fiqz9s';
$options = IDNA_DEFAULT | IDNA_USE_STD3_RULES;

$utf8Domain = idn_to_utf8($domain, $options, $errorcode);

if ($utf8Domain === false) {
    echo "转换失败,错误码:$errorcode";
} else {
    echo "转换成功:$utf8Domain";
}

以上示例将国际化域名 'xn--fsqu00a.xn--fiqz9s' 转换为 UTF-8 编码。使用了默认选项和 STD3 规则,如果转换成功,则输出转换后的域名,否则输出错误码。

补充纠错
上一个函数: igbinary_serialize()函数
下一个函数: idn_to_ascii()函数
热门PHP函数
分享链接