作成していたサイトが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%文字化けが起こらないサイトも存在するし、違いは一体何なのか分からんな~