• 締切済み

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 と指定しているのですが、 何が原因でしょうか? よろしくお願いします。

みんなの回答

  • taskuni
  • ベストアンサー率71% (49/69)
回答No.4

関係ないかもしれませんが、 Content-type が Conten-type になってます。 実際のソースは大丈夫でしょうか。

rabu_chihaha
質問者

お礼

ほんとうですね。 すみません。 実際のソースは大丈夫です

すると、全ての回答が全文表示されます。
  • HGTKC
  • ベストアンサー率100% (1/1)
回答No.3

ジャンプ先のページの<head>の間に以下のタグを埋め込めばなおると思います。 <meta http-equiv="content-type" content="text/html; charset=shift_jis">

参考URL:
http://coltd.tk/
rabu_chihaha
質問者

お礼

上記の記述はジャンプ先には書き込んであるのですが・・・。 ん~なぜでしょうか。

すると、全ての回答が全文表示されます。
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

いずれも文字コードが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してから文字コード指定しても、ブラウザはその前のデータを参照してしまうという記述をどこかで読んだように思います。

rabu_chihaha
質問者

お礼

ありがとうございます。 ですが、 Conten-type: text/html; chrset=Shift_JIS を記述したら、 aaa.phpに飛ばず、そのファイルの内容が 表示されてしまいました。

すると、全ての回答が全文表示されます。
  • awazak
  • ベストアンサー率36% (61/165)
回答No.1

とりあえず、 header('Location:http://xxxxxxxxx/xxx/xxx.com'); の様に、 フルパスで書いてみる。 キット直りませんが。。。

rabu_chihaha
質問者

お礼

ありがとうございます。 でも、試しましたがダメでした。

すると、全ての回答が全文表示されます。

専門家に質問してみよう