お気に入りのホームページがたまにですが文字化けします。


以前はそんなことなかったのに、2週間前くらいから急になりだしたのですが、その頻度もたまにですが、
なぜそうなるのか気になります。

文字化けも漢字のようなものではなくて、テキスト部分が全て??????となり、そのページは?だらけになります。

他のページへ飛んで戻ってくると直っていますが、とっても気になります。
エンコードは自動選択にしています。
会社のパソコンで見ても同じようにたまになります。

何が原因でこういう症状がおこるのか、お分かりの方教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/03/19 21:28:43
  • 終了:2011/03/26 21:30:02

ベストアンサー

id:Ryu0117 No.1

Ryu0117回答回数8ベストアンサー獲得回数22011/03/19 22:07:37

ポイント20pt

Webアプリケーションエンジニアやってます。


会社のパソコンで見ても同じように文字化けするのなら、

かなりの確率で閲覧先のサイトに原因があると思います。


文字化けの原因はいくつか考えられるので、断定はできませんが、

主な原因として考えられるのは、エンコードの相違です。

下記(1)と(2)で相違がある時に、文字化けが起こります。


(1)閲覧先サイトのHTMLファイルのエンコード

(2)HTMLソースのHEADタグ内で指定されているエンコード


まず、(1)についてですが、閲覧先のサイトの管理者が、

HTMLファイルを編集し、保存したときの文字コードのことを指します。


次に(2)についてですが、HTMLソースを見てもらえるとわかるのですが、

最初の方に、下記のような記述があると思います。

※もしくは記述が無いかもしれません


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


上記の場合は、

「このページは文字コードUTF-8で保存しているから、表示する時もUTF-8で開いてください」

という宣言です。ブラウザのエンコードが自動選択の場合、

ここの記述を元にブラウザが判断してページを表示します。



文字化けが起こる原因についてですが、

例えば、(1)HTMLファイルはSJISで保存されているのに、

(2)の指定がUTF-8だったという場合に起こります。



また、「たまに」起こったり、他のページに行って戻ってくると直っているのは

推測ですが、ブラウザのキャッシュが残っているのはないかと思います。

簡単に言うと、文字化けせずに見えている時の設定が残っていて

その設定が適用されているのではないか?ということです。



参考サイトのリンクを貼っておきます。

http://www.mozilla.gr.jp/standards/webtips0022.html

id:taru4162

Ryu0117様

ご丁寧に分かりやすく解説していただいて、本当にありがとうございます。

素人の私も大変理解しやすかったです。

ソースをみるとまさに

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

という記述がありました。

ということは、閲覧先サイトのHTMLファイルのエンコードがUTF-8ではないということですよね。

参考サイトもとても勉強になりました。

ありがとうございました。

2011/03/19 23:29:35

その他の回答(4件)

id:Ryu0117 No.1

Ryu0117回答回数8ベストアンサー獲得回数22011/03/19 22:07:37ここでベストアンサー

ポイント20pt

Webアプリケーションエンジニアやってます。


会社のパソコンで見ても同じように文字化けするのなら、

かなりの確率で閲覧先のサイトに原因があると思います。


文字化けの原因はいくつか考えられるので、断定はできませんが、

主な原因として考えられるのは、エンコードの相違です。

下記(1)と(2)で相違がある時に、文字化けが起こります。


(1)閲覧先サイトのHTMLファイルのエンコード

(2)HTMLソースのHEADタグ内で指定されているエンコード


まず、(1)についてですが、閲覧先のサイトの管理者が、

HTMLファイルを編集し、保存したときの文字コードのことを指します。


次に(2)についてですが、HTMLソースを見てもらえるとわかるのですが、

最初の方に、下記のような記述があると思います。

※もしくは記述が無いかもしれません


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


上記の場合は、

「このページは文字コードUTF-8で保存しているから、表示する時もUTF-8で開いてください」

という宣言です。ブラウザのエンコードが自動選択の場合、

ここの記述を元にブラウザが判断してページを表示します。



文字化けが起こる原因についてですが、

例えば、(1)HTMLファイルはSJISで保存されているのに、

(2)の指定がUTF-8だったという場合に起こります。



また、「たまに」起こったり、他のページに行って戻ってくると直っているのは

推測ですが、ブラウザのキャッシュが残っているのはないかと思います。

簡単に言うと、文字化けせずに見えている時の設定が残っていて

その設定が適用されているのではないか?ということです。



参考サイトのリンクを貼っておきます。

http://www.mozilla.gr.jp/standards/webtips0022.html

id:taru4162

Ryu0117様

ご丁寧に分かりやすく解説していただいて、本当にありがとうございます。

素人の私も大変理解しやすかったです。

ソースをみるとまさに

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

という記述がありました。

ということは、閲覧先サイトのHTMLファイルのエンコードがUTF-8ではないということですよね。

参考サイトもとても勉強になりました。

ありがとうございました。

2011/03/19 23:29:35
id:masanobuyo No.2

masanobuyo回答回数4616ベストアンサー獲得回数782011/03/20 03:02:28

ポイント20pt

ブラウザも文字コードを判定ミスしてしまい,そのため文字化けが起こり得ます。

http://www.kaiteki-net.com/nettrouble/mojibake/mojibake3.html

id:taru4162

masanobuyo様

早速のご回答ありがとうございます。

ブラウザも判定ミスをすることがあるということは、エンコード自体ではなく、(私の場合)IEが判定ミスを

して文字化けすることもあるということですよね。

ということは、私のお気に入りのホームページだけでなく、他のホームページでもこの文字化けは起こりうると

いうことなのでしょうか。

参考サイトのご紹介もありがとうございます。

ものすごく詳しく解説してくれていてびっくりしました。

その中で文字化けの種類がビンゴなものがありましたので、じっくり読み込みたいと思います。

絶対自分では探せなかったです。(今までさんざん探していたのですが)

ありがとうございました。

2011/03/20 09:20:16
id:online_p No.3

online_p回答回数1153ベストアンサー獲得回数592011/03/20 15:15:51

ポイント20pt

相手のHPに文字コードが混在していると思われます。あるいはUTF-8であっても非常に特殊な記号のゴミなどがあって、それで日本語ではないとブラウザが判断するためでしょう。

http://www

id:taru4162

online_p様

ご回答、ありがとうございます。

色々な要因で文字化けというのは起こるのですね。

たーまに文字化けするということは、ブラウザもたーまにその特殊な記号のゴミを感知して、そう判断するということなのでしょうか。

どうもどうもありがとうございました。

2011/03/20 20:49:13
id:tama213 No.4

tama213回答回数486ベストアンサー獲得回数302011/03/20 21:12:53

ポイント20pt

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

という記述がありました。

ということは、閲覧先サイトのHTMLファイルのエンコードがUTF-8ではないということですよね。

たぶん違います。閲覧先のサイトのHTMLはUTF-8だと思います。

IEの場合、エンコードを変更できますので、そのページを明示的にIEでUTF-8で表示して

文字化けしなければ閲覧先はUTF-8です。

この状態でたまに文字化けするのなら、IEの文字コードの判断ミスです。

文字化けした時に、右クリックでメニューをだして

そこでエンコードを選べば、IEは現在どの文字コードで表示してるかわかります。

これがUTF-8以外になってると思います。

以前はそうでなく、そのページも更新されていないようでしたら

WindowsUPDATEなどでIEにパッチが当たって動作が少し変わった可能性があります。

id:taru4162

tama213様

ご回答ありがとうございます。

文字化けしたときに右クリックでエンコードをみてみました。

すると、UTF-8になっていたんですよね・・・

で、改めて文字化けの状態を見ると見事に全て??????????????になっていました。

少しくらい違う記号みたいなものも混じりそうなものなのに・・・

数字だけ少し表記されてます(一部ですが)

もう一度windowsUPDATE やってみます。

どうもありがとうございました。

2011/03/21 08:47:39
id:yamahide1967 No.5

yamahide1967回答回数2ベストアンサー獲得回数02011/03/23 12:15:55

ポイント20pt

「以前はそんなことなかったのに。。。」というところが気になって書きました。

参考になるかどうかわかりませんが、以前制作したサイトで同じようなことがありました。

WEBを公開してしばらくは問題なかったのですが、ある日を境に文字化けが始まり、ファイルの文字コード、ソースの文字コード全てチェックしても問題はありませんでした。

途方にくれてレンタルサーバーの会社に聞いてみると、共用サーバーの場合、同じサーバーで運営されている他のサイトの影響で、まれに文字化けが起こるのだとか。

そこでレンタルサーバー内の一番上の階層のフォルダに.htaccessで運営するサイトの文字コードを指定してやると、それ以降文字化けが起こらなくなりました。

id:taru4162

yamahide1967様

ご回答ありがとうございます。

そうなんです、以前はそんなことなかったんです。一回も。

なるほど、サーバーの問題である場合もあるのですね。

そうなると、もう仕方がないですよね。頻度の問題もありますが、そんなに頻繁にでてくるわけではないので。

windowsUPDATE しようと思ってもなんだか途中でエラーがでて「できませんでした」って出てくるし、

私のパソコンにも問題があるのかもしれません。

どうもありがとうございました。

2011/03/23 20:56:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません