Apache 資料一覧

WebDAVサーバ上で日本語が化ける(mod_encoding)

2009/12/18更新

対応バージョン: 2.2.14

特定のクライアント環境(Windows XP + IE6等)においてWebDAVサーバ上でファイル/ディレクトリ操作をすると日本語が化ける。

この場合、mod_encodingを導入して対応する。

モジュール、パッチ入手

以下からモジュール本体とパッチを入手する。

% 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-2
% wget http://www.aconus.com/~oyaji/faq/mod_encoding.c-apache2.2-20060520.patch

展開、パッチ適用

% tar zxvf mod_encoding-20021209.tar.gz 
% cd mod_encoding-20021209
% ./configure --with-apxs=/usr/local/apache2/bin/apxs
% cp ../mod_encoding.c.apache2.20020611a-2 mod_encoding.c
% patch -p0 < ../mod_encoding.c-apache2.2-20060520.patch 

iconv_hookライブラリ導入

% cd lib
% ./configure 
% make
% sudo make install
% sudo ldconfig

mod_encoding導入

% cd ..
% make
% gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
% sudo make install
% sudo ln -s /usr/local/lib/libiconv_hook.so /usr/local/apache2/lib/libiconv_hook.so.1

httpd.conf設定

当該モジュールの動作範囲をWebDAVに限定する。

% sudo vi /usr/local/apache2/conf/httpd.conf

:
LoadModule encoding_module   modules/mod_encoding.so

<IfModule mod_dav_fs.c>
    <IfModule mod_encoding.c>
        EncodingEngine on
        SetServerEncoding UTF-8
        DefaultClientEncoding JA-AUTO-SJIS-MS SJIS

        AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
        AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
        AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
        AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
        AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
        AddClientEncoding "RMA/*" CP932
        AddClientEncoding "xdwin9x/" CP932
        AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
        AddClientEncoding "Mozilla/" EUCJP-MS
    </IfModule>
:
</IfModule>

設定ファイルを変更したらApacheを再起動する。