PHP:作成したページがIEで見るとたまに空白ページになる件:header
PHP (55 items)
2005年08月13日
PHPで作成したHTMLをIEなんかで見ると、たまに空白ページになったりします。
・・真っ白なページで何も表示されない。。
しかし、HTMLソースを見るとちゃんとソースは読みこんでいるようだ。。
こんな時は、IE(ブラウザ)メニューの「エンコード」を見てみましょう。
おそらく、作成したページとは別のエンコード指定されてませんか?
・・EUC-JPで作成しているPHPが、Shift_JISの設定になってる。。。
で、エンコードを正しく指定してリロードすると、
ちゃんと表示されたりします。
・・真っ白なページで何も表示されない。。
しかし、HTMLソースを見るとちゃんとソースは読みこんでいるようだ。。
こんな時は、IE(ブラウザ)メニューの「エンコード」を見てみましょう。
おそらく、作成したページとは別のエンコード指定されてませんか?
・・EUC-JPで作成しているPHPが、Shift_JISの設定になってる。。。
で、エンコードを正しく指定してリロードすると、
ちゃんと表示されたりします。
このような現象は、少し古めのWindows環境(95、98、2000)なんかで確認できました。
で、回避方法ですが、header関数で文字コードを指定してやればよいです。
(※htmlタグを記述する前に、header関数を呼ぶ必要があります)
いちいちheader関数を指定しなくとも、PHPでhtml出力できる訳ですが、
特に、titleタグを場合分けして出力内容変える等を行うと、
たまにこんな現象が起きます。
htmlの文字コードについては、
html側で文字コードを指定する事で大概は回避できるんですが、
titleタグのように、html側の文字コード宣言の前の部分に関しては、
この指定は効いてないようです。
よって、PHP側でhtml出力する前に、文字コード指定します。
で、回避方法ですが、header関数で文字コードを指定してやればよいです。
(※htmlタグを記述する前に、header関数を呼ぶ必要があります)
header ("Content-Type: text/html; charset=EUC-JP");
いちいちheader関数を指定しなくとも、PHPでhtml出力できる訳ですが、
特に、titleタグを場合分けして出力内容変える等を行うと、
たまにこんな現象が起きます。
htmlの文字コードについては、
html側で文字コードを指定する事で大概は回避できるんですが、
titleタグのように、html側の文字コード宣言の前の部分に関しては、
この指定は効いてないようです。
よって、PHP側でhtml出力する前に、文字コード指定します。
前の記事 次の記事
