CGIの文字化け(サーバ:utf8、CGI:Shift-JIS)

社内のLinuxサーバ(文字コード:utf8)にKent WebのWeb Patio(文字コード:Shift-JIS)を動かそうしたら文字化けして表示された。 IEが文字コードUTF-8として勘違い?して出力している、手動でブラウザの文字コードをShift-JISに変更すれば問題なく表示されるがCGIをアクセスする度に文字コードを変更しないといけないとなると面倒だ。 調べてみたところ、とほほ:文字化けしないようにするにはの「文字コード(キャラクタセット)を明示的に指定する」を参考になった。 CGIでHTML出力のヘッダ部分に

Content-type: text/html; charset=Shift_JIS

と出力するように変更したら問題なく表示できるようになった。