- - PR -
apacheのファイル一覧のcharsetについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-31 09:55
Apache2.0でIndexOptionsを指定してファイル一覧を表示したのですが、
ブラウザ(IE6)でエンコードを見るとUTF-8になってしまいます。 パケットキャプチャーをしてみるとContent-typeヘッダのcharsetがUTF-8になっていました。 このcharsetをShift-JISに変更するには、どういう設定をすればいいのでしょうか? ちなみにAddDefaultCharsetをShift-JISにしたりしてみましたが、変化はありませんでした。 | ||||
|
投稿日時: 2006-08-31 10:47
IANAにはShift-JISという定義は無いと思うのですが・・・。
http://www.iana.org/assignments/character-sets 他を試してみては。 | ||||
|
投稿日時: 2006-08-31 12:18
ざっと httpd-2.0.59/modules/generators/mod_autoindex.c のソースを見てみたところ、charset= を設定できるようにはなっていないようです。
[ メッセージ編集済み 編集者: スフレ 編集日時 2006-08-31 12:20 ] | ||||
|
投稿日時: 2006-08-31 12:45
さらに、apr.h を見てみると、APR_HAS_UNICODE_FS は 0 にハードコーディングされているので、特に明示的な設定されていなければ、強制的に utf-8 に設定されることはないようですね。実際にやってみましたが、私の環境では AddDefaultCharset で設定した値が採用されました。 | ||||
|
投稿日時: 2006-08-31 13:04
なるほど、ap_set_content_type() は AddDefaultCharset の影響を受けるんですね。 見たところ、Windows 上の Apache httpd だけ APR_HAS_UNICODE_FS が 1 (→ charset=utf-8固定)になるようですね。rviperさんのサーバ環境は何でしょうか? | ||||
|
投稿日時: 2006-08-31 14:57
返信ありがとうございます。
なるほど、WindowsだとUTF-8固定になるのですか・・・ ちなみに環境をRedHatに変更して実行したのですが、 表示上のエンコードはShift_JISになりました。 但し、日本語ファイル名をURLに直接指定すると404 Not Foundに なってしまいます。これはいったい・・・ |
1