linux+apache サーバーでは漢字のファイル名が正しく見えるのにウェブブラウザーからファイルの一覧を表示すると文字化けしている場合は…

サーバーでは漢字のファイル名が正しく見えるのにウェブブラウザーからファイルの一覧を表示すると文字化けしている。
これは表示時のキャラクタセットが、西欧(ISO-8859-1)になっているためだ。
ウェブラウザの表示設定で文字エンコーディングのキャラクタセットをUTF-8にすればとりあえず正しく表示できる。
しかし1回ならまだしも、ディレクトリを移動するたびにこれでは使い物にならない。
apacheのディレクトリオプションで Indexes をつけていた場合
フォルダにIndex.htmlなどindexファイルが無かった場合そのディレクトリ内のファイルが丸見えになる設定だ。
(Indexsオプションは、デフォルトで付いているが通常は安全のため削除する例のやつだ)
ところが日本語のディレクトリやファイルは文字化けして読めないということになっている。
このとき表示されるindexは、apacheのautoindexという機能によって生成されているのだが、
この時のキャラクタセットをUTF-8に設定すればよいことになる。
設定は、
etc/apache2/apache2.conf

IndexOptions Charset=UTF-8
を1行追加すれば一挙解決である。

コメント

タイトルとURLをコピーしました