Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □PHP5.3(以降)でPunycode対応

□PHP5.3(以降)でPunycode対応

最近日本語ドメインが話題になってきましたので、PHPスクリプト上でもPunycode変換してからアクセスしてみるのもいいかもしれない、と思ったのが運のつき。

試行錯誤で半日使ってしまった。

検索すると情報が少ない。
いろいろあるけど、icuとかintl関連のパッケージをインストール

apt-get install libicu
apt-get install libicu-devel
apt-get install intltool

pecl install intl

…としてもVine5では肝心のintlが入らない。
とはいえ、lib関連はいるのでコレはコレで大事。

仕方がなしにウロウロすると、

http://php-idn.bayour.com/

こんなところで

http://php-idn.bayour.com/php-idn_1.2b.tar.gz

こんなのを発見。

試行錯誤の末、これを使えばいいらしい。

mkdir /usr/src/package
cd /usr/src/package
wget http://php-idn.bayour.com/php-idn_1.2b.tar.gz
cd /usr/src/
tar xvzf package/php-idn_1.2b.tar.gz
cd idn-1.2b/
phpize
./configure
make
make install

とする。make testしても100%エラーとなるけど無視。

で、

<?

??? $URL = ‘http://日本語ドメイン.jp/’;
?
?$URLINFO = parse_url($URL);
//?print_r($URLINFO);

?print $URLINFO[‘host’];
??? print ” -> “;
?print preg_replace(‘/’.$URLINFO[‘host’].’/’, idn_to_ascii($URLINFO[‘host’]), $URL);

?>

という感じで実行すると、

http://日本語ドメイン.jp/ -> http://xn--eckwd4c7c5976acvb2w6i.jp/

とできたのでよしとする。

…あ、WordPressの投稿編集画面は日本語URLのlink変換に対応してないのか。

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です