日本語名ファイル添付とmod_encoding その2
昨日、導入したApache2用のmod_encdingモジュールだが、どうやらこのままではPHPやCGIの
パラメータ部分も余分な変換をしてしまうようで、SquirrelMailでも日本語のIMAPフォルダを
うまく扱う事が出来なくなってしまった。
このトラブルに対応するパッチを見つけたので、ソースからモジュールのビルドをおこなった。
ビルドの手順
% wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
% wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20020611a
% wget http://www.kowa.org/uploads/mod_encoding.c.diff
↑のパッチは、http://www.namazu.org/ml/namazu-win32-users-ja/msg01596.html
を参考にして、きちんとコンパイルまで出来るように再作成した。
% tar xzvf mod_encoding-20021209.tar.gz
% cp mod_encoding.c.apache2.20020611a mod_encoding-20021209/mod_encoding.c
% cd mod_encoding-20021209
% patch -p0 < mod_encoding.c.diff
% cd lib
% ./configure
% make
% cd ..
% ./configure --with-apxs=/usr/local/apache2/bin/apxs ← Apache2のapxsのパス
% make
本来ならこの後 make insallでうまくいくはずだが、失敗するので
% gcc -Wc,-Wall -shared -o mod_encoding.so mod_encoding.o lib/.libs/libiconv_hook.a
このようにして、mod_encoding.soを作成する。
% su
# cp ./mod_encoding.so /usr/local/apache2/modules/mod_encoding.so
Apache2のモジュールディレクトリーにコピー
でApache2を再起動
この手順によって、日本語ファイル名のURLのハンドリング及び、日本語をパラメータに持つPHPスクリプトの実行の
両方がうまくいくようになったようだ。
コメント