- ベストアンサー
ウェブサイトが文字化けする原因と対処法
- 知り合いのウェブサイトが1週間前から文字化けするようになりました。エンコードをすると一時的に解消されますが、原因解明と対処法を知りたい。
- ウェブサイトが文字化けする問題があります。ブラウザごとにエンコードの方法が異なり、IEでは「西ヨーロッパ言語」と設定して「日本語-自動選択」にエンコードすると正しく表示されます。Firefoxでは「西欧」と設定して「日本語-Shift-JIS」にエンコードすると正常に表示されます。しかし、この問題はサーバー側の設定にも関係しており、htmlソースのcharsetを変えても解決しません。
- ウェブサイトが文字化けする問題について相談です。知り合いのウェブサイトが最近文字化けするようになりました。ブラウザでエンコードをすると一時的に解消されますが、原因究明と解決策をお教えいただきたいです。
- みんなの回答 (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の確認を!!
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
実際の文字コードは、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> ・・・の部分。
お礼
いろいろとありがとうございます! 先ほど、知り合いの使っているweb上のツールというのを詳しく聞き、自分でも使ってみました。 その結果、やはり実際のHTMLがShift_JISで書かれているのに、文字コードがISO-8859-1と指定されていたことが原因と判明しました。 そのツールは初心者モードと上級者モードがあって、初心者モードでは直接HTMLを細部に渡っては編集できないので、先日私が指示したことが的確にできていなかったようです。 ORUKA1951さんのおかげで、私も知らなかったことをたくさん勉強でき、知らなかったアドインも入手することができました!! まだまだ知らないことがたくさんあるので、またこういう類の質問をすることがあると思います。そのときにもご協力いただけると大変嬉しいです。本当にありがとうございました!
補足
ご回答ありがとうございます。 > Shift-JISではなくて、Shift_JISなのですが、それはOKですか? すみません、書き間違えました。 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">でした。でもダメなんです…。 あと、教えていただいたアドオン導入してみました。ご想像のとおりISO-8859-1でした。 他に何か思い当たる節はございませんか???