甘い!

検索結果が文字化け?!の対策として、「<head>〜</head>の間にcharsetのmetaタグを入れる」とあるけれども、それは間違い。headタグの後にtitleタグが最初に来て、その中に2バイトコードとか入ってるとやっぱり文字化けします。正しくは、「<head>の直後にcharsetのmetaタグを入れる」だな。それと、apacheのAddDefaultCharsetディレクティブでcharset=noneを指定していると、metaタグでcharsetを指定してもsafariなどは文字化けします。なので、文字コードが混在する場合はAddDefaultCharsetディレクティブをそもそも指定しない、単一の文字コードしか無いのであれば、その文字コードをAddDefaultCharsetディレクティブで指定するのが完璧。

と、記事をよく見たら、「HTML 文書は HTTP というプロトコルで 通信しているが、このプロトコルのヘッダに文字コードの記述を加えることにより、HTML 文書の漢字コードを 指定することができる。」と書いてある。ダウト! HTTPのレスポンスヘッダのcharsetフィールドと、レスポンスボディに含まれるmetaタグの間には何の関係も無いので、プロトコルのヘッダ云々という記述の後に、metaタグの説明があるのはおかしいだろ。

タイトルとURLをコピーしました