【Apache】autoindexが文字化けする
答え
IndexOptions charset=Shift_JIS
Apacheのモジュールに、index.htmlがないディレクトリにアクセスすると、ディレクトリの中身の一覧が表示する機能があります。
mod_autoindex を有効にしていると表示される、おなじみの表示です。
これが、Content-Type: text/html; charset=ISO-8859-1 のヘッダで送られてくるので、日本語を含むファイル名が文字化けしました。
ブラウザ側でエンコードを指定しても、次のページではまた文字化けするといった状況で、不便です。
(ここでは、ごく限られた環境にて、ディレクトリの中身をあえて丸見えにしたい)
結構長時間悩んで、Headerディレクティブを使ってみたり、IndexOptions の他の設定でがんばったりしたのですが、答えはとても簡単なものでした。
IndexOptions で charset=utf-8 など指定すれば、見事にヘッダが修正され、文字化けが直りました。
コメント