5

PHP 5.3 中有一个非常方便的函数idn_to_ascii(),但我正在运行 5.2.17,我无法更改它。那么如何将 Unicode 域名编码为 ascii 呢?

4

3 回答 3

6

Peter 的回答为您提供了 PHP 5.2 中的官方 IDN 函数,如果可能的话,它可能是最好的答案。

然而,一些用户将无法在他们的 PHP 系统上安装 PECL 库,因此他们需要一个用纯 PHP 编写的转换库,他们可以将其包含在自己的代码中。

幸运的是有一个解决方案:http: //phlymail.com/en/downloads/idna/

这是一个 PHP 类,它允许您在 unicode 和 punycode 之间进行编码和解码。使用非常简单,不需要任何类型的安装(除了下载并包含到您自己的 PHP 代码中)。

显然,如果您使用的是 PHP 5.3 或更高版本,或者您可以将 PECL 库安装到 PHP 5.2 中,则您不需要它,但如果您不能这样做,这是一个不错的选择。

于 2011-08-30T10:21:24.927 回答
5

引用:

这个扩展可以使用 PHP 5.3.0 的捆绑版本安装,或者作为 PHP 5.2.0 的 PECL 扩展安装。换句话说,有两种方法可以安装 intl 扩展。

这里的说明

一般安装说明

pecl install intl
pecl install idn

然后在您的 php.ini 或相关配置文件中添加扩展名。

于 2011-03-23T12:56:18.693 回答
1

或者,您可以使用 apt-get 安装它:

sudo apt-get install php7.x-intl

您需要用您当前安装的实际 php 版本替换“x”。

于 2018-06-11T08:38:50.440 回答