- 締切済み
phpファイルで文字化け
お世話になります。 PHP4で作成しています。 あるPHPファイルが読み込まれたとき、 パラメータが引き渡されているか確認し、 引き渡されていない場合には、 別のページにジャンプするように以下のように作成しています。 if ($aaa==""){ header("Location: aaa.php" ); }else{ header("Conten-type: text/html; charset=Shift_JIS"); } 通常、aaa.phpファイルは文字化けしないのですが、 このファイルから自動的に飛んだときに 文字化けで表示されてしまいます。 ブラウザの更新ボタンをクリックすると、 きちんと表示されるようになります。 文字化けした時のエンコードを見ると 西ヨーロッパ言語になっています。 aaa.phpファイルでも、 charset=shift_jis と指定しているのですが、 何が原因でしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- taskuni
- ベストアンサー率71% (49/69)
関係ないかもしれませんが、 Content-type が Conten-type になってます。 実際のソースは大丈夫でしょうか。
- HGTKC
- ベストアンサー率100% (1/1)
ジャンプ先のページの<head>の間に以下のタグを埋め込めばなおると思います。 <meta http-equiv="content-type" content="text/html; charset=shift_jis">
- 参考URL:
- http://coltd.tk/
お礼
上記の記述はジャンプ先には書き込んであるのですが・・・。 ん~なぜでしょうか。
- hrm_mmm
- ベストアンサー率63% (292/459)
いずれも文字コードがShift_JISなら、いずれの場合にも文字コード指定を入れる。 if ($aaa==""){ header("Conten-type: text/html; charset=Shift_JIS\nLocation: aaa.php" ); }else{ header("Conten-type: text/html; charset=Shift_JIS"); } Locationでjumpしてから文字コード指定しても、ブラウザはその前のデータを参照してしまうという記述をどこかで読んだように思います。
お礼
ありがとうございます。 ですが、 Conten-type: text/html; chrset=Shift_JIS を記述したら、 aaa.phpに飛ばず、そのファイルの内容が 表示されてしまいました。
- awazak
- ベストアンサー率36% (61/165)
とりあえず、 header('Location:http://xxxxxxxxx/xxx/xxx.com'); の様に、 フルパスで書いてみる。 キット直りませんが。。。
お礼
ありがとうございます。 でも、試しましたがダメでした。
お礼
ほんとうですね。 すみません。 実際のソースは大丈夫です