UTF-8のページがIEで表示されない
PHPを使ってホームページを作成していたときに、文字コードをUTF-8で記述してHTMLのメタタグにも
1 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
このような記述をしているにもかかわらずInternetExplorerで表示すると
なっなんと、真っ白こっちの頭も真っ白
調べているとIEが文字コードの判定を誤っていてUTF-8でなくShift-JISで対象ページを開いているために真っ白になっていた。
試しに
IEのツールバーから表示⇒エンコード⇒UTF-8 を選択してみるとちゃんとページが表示されました
でも根本的な部分で解決していないので色々と調べていると
IEが文字コード判断するのはメタタグではなくHTTPヘッダーでUTF-8と指定されていないといけないらしい。
なので解決方法としては2つあります。
- PHPでの解決方法
1
header('Content-Type: text/html; charset=UTF-8');
- .htaccessでの解決方法
1
AddDefaultCharset UTF-8
または、
1
AddType "text/html; charset=UTF-8" .html .php
のいずれかを追記する。
これでHTTPヘッダーにUTF-8であると明示的に記述される為、IEでも真っ白にならずにちゃんとページが表示されるようになります
解決
コメント:0件
トラックバック:3件
-
PHPでHTMLコンテンツをテキスト・ファイルに変換する
PHPを使い、インターネット上のHTMLコンテンツをシフトJISのテキスト・ファイルに変換するプログラムを作ってみる。≫デザインを一新しました。タイトルを変更しました。
-
[...] 【参考】 UTF-8のページがIEで表示されない PHPの文字周りの覚書 header("Content-Type: text/html; charset=UTF-8");でWarningになる理由と対処方… [...]
[...] はまった http://blog.veryposi.info/programing/php/utf-8-ie-php/ header(”);送って解決 未分類 [...]