誕生日にもらった意外なもの

知り合いのウェブサイトのことで質問させていただきます。
サーバーがアメリカにあり、アップデートはネット上で行うアメリカのウェブ作成ツール(詳しくは聞いてないのですが)というのを利用しているらしいのですが、今までデフォルトで普通に日本語が表示されていたのに、1週間ほど前から文字化けするようになりました。
ブラウザでエンコードをすれば元に戻るのですが、しないと化けています。
ちなみにIEで見たときは「西ヨーロッパ言語」になっていて、「日本語-自動選択」にエンコードして正しく表示されました。
Firefoxでは「西欧」になっていて「日本語-Shift-JIS」にしたら直りました。

htmlソースに
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
と書かれていたので、charsetをShift-JISとISO-2022-JPとに変えてみてもらったのですが、全然なおりません。
どうしたら文字化けしなくなりますか?

もちろんこれは私のPCでのみ起こっている現象ではなく、どこで見てもそうなっています。
ご助言お願いいたします。

A 回答 (2件)

Shift?JISで直るということは、まずShift_JISで書かれているのでしょうね。


本来、meta情報はサーバーで処理されて、HTTP応答ヘッダにそれが適用されないとならないのですが、多くのHTTPサーバーはその処理をしません。
 これは、Firefoxにアドオン Live HTTP Headers( https://addons.mozilla.jp/firefox/details/3829 )を導入すると確認できます。まず、これを行うこと・・想像ではISO-8859-1のままだと思います。
 HTTPヘッダが実際のHTMLとは異なっていてもブラウザがそれを処理します。ほとんどの場合こちらです。
 で、確認なのですが
Shift-JISではなくて、Shift_JISなのですが、それはOKですか?質問では
「charsetをShift-JISとISO-2022-JPとに変えてみてもらったのですが、」
    ^^^^^^^となってますが
HTTP応答ヘッダの情報と、Shift_JISの確認を!!

この回答への補足

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

> Shift-JISではなくて、Shift_JISなのですが、それはOKですか?

すみません、書き間違えました。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">でした。でもダメなんです…。
あと、教えていただいたアドオン導入してみました。ご想像のとおりISO-8859-1でした。
他に何か思い当たる節はございませんか???

補足日時:2008/11/05 09:45
    • good
    • 0

実際の文字コードは、Frefoxで[自動判別]ではなく、強制的に指定するともっと確実です。


 それども文字化けするようでしたら、HTMLのヘッダ部分の情報が必要です。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>タイトル</title>
・・・の部分。
    • good
    • 0
この回答へのお礼

いろいろとありがとうございます!
先ほど、知り合いの使っているweb上のツールというのを詳しく聞き、自分でも使ってみました。
その結果、やはり実際のHTMLがShift_JISで書かれているのに、文字コードがISO-8859-1と指定されていたことが原因と判明しました。
そのツールは初心者モードと上級者モードがあって、初心者モードでは直接HTMLを細部に渡っては編集できないので、先日私が指示したことが的確にできていなかったようです。
ORUKA1951さんのおかげで、私も知らなかったことをたくさん勉強でき、知らなかったアドインも入手することができました!!

まだまだ知らないことがたくさんあるので、またこういう類の質問をすることがあると思います。そのときにもご協力いただけると大変嬉しいです。本当にありがとうございました!

お礼日時:2008/11/06 12:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!