PHP 5.3には非常に便利な関数idn_to_ascii()がありますが、私は5.2.17を実行しており、それを変更することはできません。次に、Unicodeドメイン名をASCIIにエンコードするにはどうすればよいですか?
3 に答える
Peterの答えは、PHP 5.2の公式IDN関数を示しており、可能であれば、それがおそらく最良の答えです。
ただし、一部のユーザーはPHPシステムにPECLライブラリをインストールできないため、自分のコードに含めることができるプレーンPHPで記述された変換ライブラリが必要になります。
幸いなことに、解決策があります:http: //phlymail.com/en/downloads/idna/
これは、Unicodeとpunycodeの間でエンコードおよびデコードできるPHPクラスです。使い方は非常に簡単で、インストールは必要ありません(ダウンロードして独自のPHPコードに含める以外)。
PHP 5.3以降を使用している場合、またはPECLライブラリをPHP 5.2にインストールできる場合は、明らかにこれは必要ありませんが、それができない場合は、これが適切な代替手段です。
見積もり:
この拡張機能は、PHP 5.3.0 のバンドル バージョンを使用してインストールするか、PHP 5.2.0 の PECL 拡張機能としてインストールできます。つまり、intl 拡張機能をインストールするには 2 つの方法があります。
手順はこちら
一般的なインストール手順
pecl install intl
pecl install idn
次に、php.ini または関連する構成ファイルに拡張機能を追加します。