- ベストアンサー
PHP、.htaccessの文字コードの設定について
- PHPを使用してホームページの共通テキストを管理したい
- ホームページの文字化け問題を解決するために.htaccessファイルで文字コードを設定する
- .htaccessファイルの記述により、PHP拡張子の設定と文字化け問題を解消する
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1 です。言葉足らずでした。header() は内容を書き出す前に発射する必要があるので、この場合は全ページに header.php などを include で読み込み、そこに header(略) を書いてやればいいと思います。 ついでに細かい話ですが、Shift-JIS ではなくて Shift_JIS(アンダースコア)です。
その他の回答 (2)
- mpx
- ベストアンサー率71% (149/209)
>> PHP初心者です。 本当に初心者ならShift-JISではなくEUC-JPで統一すること薦めます。 5C問題を理解した上でShift-JISを利用する前提ですが、 .htaccess に以下を追記して試してみてください default_charset="Shift_JIS" mbstring.http_input = "pass" mbstring.http_output = "pass" mbstring.internal_encoding ="SJIS-win" mbstring.language = "Japanese"
- warez
- ベストアンサー率57% (29/50)
header("Content-type: text/html; charset=Shift_JIS"); でいいのでは。
補足
回答ありがとうございます。 header("Content-type: text/html; charset=Shift_JIS"); を記述するとのことで、 footer.phpに記述し、htmlの文字コードもSHIFT-JISで作成したら、 そのテスト用のページは正常に見られるのですが、それ以外のページ(文字コードは全てSHIFT-JIS)が文字化けしてしまいます。 .htaccessにAddType application/x-httpd-php .htmを記述しなければ文字化けは起こりません。
お礼
最初は全て文字コードEUCで作成したのですが、テストページ以外のhtmlファイルはSHIFT_JISで構築しているため、文字化けを起してしまいます。 教えていただいたとおり、 .htaccessに記述したところ、 500Internal Server Error になってしまいました。 なにか設定が悪いのでしょうか?