Namazuでファイル名が文字化けする場合の対策です。NamazuはEUC-JPで動作していますが、ファイルシステムにUTF-8を利用している場合、検索結果のファイル名は文字化けします。そこで、php-namazuを利用することで、簡単に文字化け対策をしようと思います。
まず、PHPでNamazuを利用するために、PHPのモジュールを組み込みます。
(1) php-namazuをダウンロードします。
http://sourceforge.jp/projects/php-i18n/
(2) 解凍→コンパイル→インストール
tar xzvf namazu-2.3.1.tgz
cd namazu-2.3.1
phpize
./configure --with-namazu
make install
(3) サンプルとなるソースコードを入手
http://park1.wakwak.com/~ima/php_namazu.html
(4) 上記ソースから文字化け対策の修正
コメントアウトされている次の行を探します。
//HTMLタグの除去
//$sTitle = strip_tags($sTitle);
//$sDate = strip_tags($sDate);
//$sContent = strip_tags($sContent);
上記の3行の下にエンコーディングするための1行を加えます。
$sTitle = mb_convert_encoding($sTitle,"EUC-JP","UTF-8");
日付をカスタマイズする場合は、次のような1行を加えます。
$sDate = date("Y-m-d",strtotime($sDate));
コメント