ダリの雑記:WEBプログラム版

IEで文字化け

作成していたサイトがIEで文字化けする現象が発生しました。

100%ではないけど、リロードやURL直打ちすると勝手にShift JISと判断されて文字化けしてしまいます。(ちなみにそのサイトはUTF-8で作成)

当然ながらmetaタグで

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

は記述してますし、titleタグやmetaタグのkeywords、desicriptionより前に記述しています。

これまた結構悩んでしまいましたが、ちょっと気になる点が・・・

このmetaタグ、実はこんな感じでincludeしていたのです。

[HTML]
<?php include_once("meta.php"); ?>
<meta name="description" content="(概要)" />
<meta name="keywords" content="(キーワード)" />
<title>(タイトル)</title>
[/HTML]

このmeta.phpは汎用的なmetaタグを記述して一括で管理しようと思って作ったものなんですが、どうもこれをincludeでやってるせいで文字化けが起こっているみたい。

このように中身を直書きしたら直りました。

[HTML]
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-script-type" content="text/script" />
<meta http-equiv="content-style-type" content="text/css" />
<meta name="description" content="(概要)" />
<meta name="keywords" content="(キーワード)" />
<title>(タイトル)</title>
[/HTML]

う~ん。

でもPHPってサーバーサイドだよね~、なんでこれで直るんだろ?

include方式でもほぼ100%文字化けが起こらないサイトも存在するし、違いは一体何なのか分からんな~

モバイルバージョンを終了