shift-jisでwebページを出力する

最近、知り合いと携帯サイトを作ってます。まだぜんぜん役に立ってないんだけど・・・
携帯サイトの文字コードSJISなのでその指定方法を書いておきます。HTMLでの指定だけでなく、自分の環境ではhttp.confの修正が必要でした。


まずHTMLのメタタグで文字コードを指定する。

<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

で、ブラウザで表示してみる・・・
文字化け。ブラウザはUTF-8として認識しているようだ。
原因はhttpd.confの以下の設定。

AddDefaultCharset UTF-8

このディレクティブが設定されているとメタタグによる文字コードの指定を無効化してしまう。
http://httpd.apache.org/docs/2.2/ja/mod/core.html
というわけでこれをoffにする。デフォルトはoffなのでコメントアウトでよい。

# AddDefaultCharset UTF-8

apache再起動。
ちゃんと表示された。