5.2.17中的idn_to_ascii()

don*_*onk 5 php dns utf idn

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

Spu*_*ley 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中,则不需要这样做,但如果您不能这样做,那么这是一个不错的选择.


Pet*_*ist 5

引用:

此扩展可以使用PHP 5.3.0或更高版本的捆绑版本安装,也可以使用PHP 5.2.0或更高版本的PECL扩展来安装。换句话说,有两种安装intl扩展的方法。

这里的说明

一般安装说明

pecl install intl
pecl install idn
Run Code Online (Sandbox Code Playgroud)

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