2006/01/22

phpのメール件名文字化けの問題

以前から懸案のこの問題.
PHP 4.1.2, 5.1.2では修正されているらしいけど,
dev-lang/phpの5.0.5-r5では対策されていない.

しかたがないので, 自分で対応することにした.
本来なら, パッチをportageに入れるべきなんだけど,
よくわからないので, 逃げ.
まずはパッチの入手.
PHPのCVSから変更点を入手する.
http://chora.php.net/viewcvs.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.2.2.7&r2=1.2.2.8&pathrev=PHP_5_0&view=patch
しかし, このままでは, パッチを当てるファイル名がよくわからないことになるので, 編集.
こんなかんじ.

/usr/portage/distfiles/php-5.0.5.tar.bz2を一度解凍して, パッチを当てて,
再度圧縮.

それから, /usr/portage/dev-lang/php/files/digest-php-5.0.5-r5を編集.
MD5 b5d4ca75bbb11ee5b830fa67213d9f7f php-5.0.5.tar.bz2 4895556
の記述を, 新たに作成した/usr/portage/distfiles/php-5.0.5.tar.bz2に合わせる.
MD5 c5a18eb9e8c31e16c743209127500160 php-5.0.5.tar.bz2 4896489

その後, /usr/portage/dev-lang/php/Manifestを編集.
MD5 f63da77a9810ee794c4c3e15cf7aa682 files/digest-php-5.0.5-r5 223
を, 編集した/usr/portage/dev-lang/php/files/digest-php-5.0.5-r5に合わせる.
MD5 15c6f5997dd2c27796d8ce94c93b1a66 files/digest-php-5.0.5-r5 223

/usr/portage/dev-lang/php/Manifestには, 電子署名が付いているので,
だめかと思ったが, ここまでやってから, emergeすると, ちゃんとインストールされる.

今回インストールしたPHPを使って, Squirrelmailからメールを送信しても,
件名が化けることなく, ちゃんと送信できる.

0 件のコメント: