HTMLで文字化けしてしまう問題の原因と解決方法

このQ&Aのポイント
  • HTMLで文字化けする問題について、エンコード指定の影響や原因を調査しました。
  • 文字化けの症状や現象について解説し、解決方法を提案します。
  • 過去のページとの比較や日本語のエンコードについて考察し、問題の解決に向けたアドバイスをまとめました。
回答を見る
  • ベストアンサー

HTMLでどうしても文字化け(エンコード指定がなぜか反映されない)

HTMLでどうしても文字化け(エンコード指定がなぜか反映されない) こんにちわ、私が所属しているところは例年活動の発表ページを作成して、今年は私が作成担当になっています。 去年先輩が作ったものを参考に作っているのですがサーバに上げて見たところエンコードがおかしいのかどうしても文字化けしてしまいます。 以下に詳しい症状を箇条書きします。どなたか知恵を貸してくださる方、よろしくお願いします。 自スペック:WindowsVista:FireFox3.6.9 サーバの設定:エンコードはutf-8で統一されている(去年のページもすべてutf-8でした) 症状:去年と同様にcssでもhtmlでもutf-8を文字エンコードに指定しているが文字化け、ブラウザのエンコードをshift_jisに変えると直る ↓ 指定エンコードをshift_jisに変えてみるがなぜかutf-8で表示される ↓ ソースをterapadでutf-8に変換してみてからソースを上げなおしてみる ↓ やっぱりエンコードをshift_jisに変えないと文字化けが直らない 去年のページではutf-8で問題なく表示されており、指定コードの周辺は変えていないのでなぜ文字化けするかが不明です。 日本語のエンコードは普通shift_jisであってutf-8ではないですよね? 去年のページがなぜutf-8でも普通に表示されているのか、それがなぜほとんど同じ構成の自分が作ったページではできないのか、知恵をお貸しください。

  • HTML
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

使ったエディタはなんでしょうか? 本当にUTF-8で保存されているのでしょうか? (操作ではなく実際のコード) ありがちなのはソースの保存がUTF-8で行われていない場合です。 次点で使用したFTPクライアントが勝手に文字コードを変えた場合。

karasuuri
質問者

お礼

コメントを参考に使っていたWinSCPをチェックしたところ、確かにデフォルトコードがshift_jisになっていたのでutf-8に変えて、htmlソースを上げなおして見ました。 あっさり直りました!!ここ数日ずっと悩んでた案件だったので思わず脱力してしまいましたがこれでどうにか先に進めそうです。 ありがとうございました。

その他の回答 (1)

回答No.2

HTMLのheaderに <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> の一文があっても、文字化けするのですか? htmlが記載がないのでなんとも言えませんが、メタタグを入れることで 解決するとかではないですよね…? あと特殊なケースですが、wordpressで独自テンプレートの場合 utf-8Nとしないと、文字化けるケースが私は過去にありました。 直接の解決策にはなってませんが、参考までにどうぞ。

関連するQ&A

  • 文字化けします

    win2000+アパッチでサーバーを立てています。 このサーバーから表示したHTMLファイルが西ヨーロッパ言語へ文字化けします。 エンコードでシフト_jisを指定すれば直ります。 <meta>でコードを指定してましたが改善されません。 よろしくお願いします。

  • 文字化けを直すには

    現在別のサイトで使ったメールフォームを元に、別のメールフォームを作り直しているのですが、 文字化けが発生してしまいます。 元々のサイトで使っていたメールフォームのエンコードはUTF-8で、今回はshift-jisになるので メタタグで文字コード宣言をshift-jisにしているのですが、それでも文字化けが起こります。 エンコードをutf-8にすると直ります。 修正の仕方を調べても文字コードの宣言しか見当たらないので、どのように修正してよいか わかりません。 原因等わかる方がおられましたら教えてください。

  • Dreamweaverでソースが文字化けしてしまいました。

    Dreamweaverでソースが文字化けしてしまいました。 メタタグが <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> になってたので、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> に修正して、保存して終了したあとに、再度Dreamweaverで開いたところ、ソースが全部文字化けしてしまいました。 元に戻そうと、メタタグをもとのutf-8に戻しても直りません。 メタタグをShift_JISにして、ページプロパティのエンコーディングをShift_JISに合わせると、ソース全部が文字化けしていた状態は直ったんですが、ところどころ文字化け状態のままになっています。 完全にもとの状態に戻したいのですが、どうしたら文字化けが直るのでしょうか。 教えてください。 よろしくお願いします。

  • ウェブサイトの日本語の文字化け 

    テンプレートを活用してサイトを作成しました。 英語と日本語を使っていますが、日本語が文字化けしてしまいます。 そこで、日本語(シフトJIS)だった「エンコード」を、Unicord(UTF-8)にすると解消されます。 エンコードの種類は、サイト作成者がプログラムで設定したエンコード種が、サイトを開いた時に自動適用されるのでしょうか? というのも、複数あるページのうち、1ページだけはUnicordにしなくても文字化けしていません。 そこで、全ページそれぞれのエンコードを確認すると、その文字化けしないページはUnicord、他のページは日本語(シフトJIS)と出ます。 ソースを見てみましたが、どこで設定するのかよくわかりませんでした。 どうすれば文字化けしないようになるかご指南いただけますでしょうか。 使用しているテンプレートは、www.webcity.com.au です。(作成者は海外の方なので英語です) 【番外編】文字エンコードの種類は、PCのデフォルトで設定されていて、それがそのままどのサイトにも適用されるのかと思っていました。どうやらそうではなくてサイトごとに変わるみたいですね。 ・・・ということで素人にもわかるようにお願いいたしますm(__)m

  • wwwサーバーの文字コードについて教えて下さい。

    サーバー関連の知識に乏しい為調べてもよく分らなかったので質問させて下さい。 友人の自作サーバーを借りて、自分のHPを公開しようと思っているのですが、htmlファイルをアップして、見てみると文字化けしてしまいます。 環境は htmlにcharset指定している文字コードはshift_jis。 サーバーはLinuxで自作しているようです。 ブラウザで表示させてみると、文字エンコードがutf-8になっていてshift_jisに切り換えると文字化けが直ります。 また同じブラウザでYahooジオシティーズのHPスペースにアップしたものを表示すると文字化けしませんでした。 どのようにすれば文字化けしなくなるでしょうか。 よろしくお願いします。

  • CakePHP文字化けについて

    お世話になります。基本的な質問で申し訳ないのですが、CakePHPのインストールをしたのですが、ブラウザ経由の文字化けが発生しており、困っております。 \app\webrootに以下のHTMLファイルを設置し、ブラウザ経由でアクセスしたのですが、エンコードUTF-8でアクセスすると文字化けが発生してしまいます。エンコードをShift-JISに指定しなおしたところ問題なく表示されるのです。charset=utf-8を指定しているにも関わらず、Shift-JISで表示されるのはどうしてですか。また、UTF-8で正常に表示するには、追加で設定が必要になるのでしょうか。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    <title>Hello</title> </head> <body> <p>これは、テストページです。</p> </body> </html>

    • 締切済み
    • PHP
  • 一時的な文字化けについて

    サイトのリニューアルを行いました。 ・旧サイト → sjis (静的なhtml) ・新サイト → utf-8 (WordPress) 新サイトのmetaでutf-8を指定しファイルもutf-8で保存しているのですが、リニューアル後の最初のアクセス時に文字化けする場合があります。 サーバーのdefault_charsetもutf-8です。 ブラウザ上で右クリックしてエンコードからutf-8を選択するとそれ以降は全く文字化けしないのですが、これは旧サイトのキャッシュの問題なのでしょうか? 今回のリニューアルに限らず、いろんなサイトを見ているとたまに文字化けしているサイトがあり、エンコードから指定すると正しく表示される場合もいくつかあります。 修正する方法を知っている人であればいいのですが、知らない人がサイトに訪れた場合、ただの文字化けしているサイトです。 エンコードから正しい文字コードを指定すればそれ以降は文字化けしないので、キャッシュなのかブラウザの問題なのか明確な答えはわからないのですが、確実に正しいエンコードで表示させることってできるのでしょうか? 可能であれば方法を教えてください。

    • ベストアンサー
    • PHP
  • TeraPadの文字コード

    TeraPadの文字コードについて教えてください。 1. TeraPadで扱える文字コードは Shift-JIS、JIS、EUC、Unicode、UTF-8、UTF-8N の6種類あるようですが、このEUCとEUC-JPは 同じものですか? 2. Shift-JISで保存すると、TeraPadの下の部分に 表示される文字コードがSJISとなります。 これはShift-JISのことですか? 3. 短い文章では文字コードを誤認識する場合も あるようですが、どうしたら正しく認識 させられますか? 指定した文字コードで保存できず困っています。

  • 見るパソコンによって文字化けする

    自分のHPを持っています。 構成は縦の2分割フレームで、基本文字コードは日本語SHIFT-JISです。 これを、片フレームの文字コードがUnicode(UTF-8)になると、見るPCによってちゃんと見えたり、文字化けして見えたりします。 文字化けした時には、手動にて当該フレーム上でUTF-8にエンコード指定してやるとちゃんと表示されます。 ブラウザはIE7 for WinXP SP2でエンコードの設定はどのパソコンも同じになっています。 UTF-8の方のソースには 『<META http-equiv="Content-type" content="text/html; charset=UTF-8" />』 を入れてやってますが状況は先に述べた通りです。 フレームに表示させず、普通に一枚で表示させるとちゃんと表示されます。フレームの時のみ状況がまちまちのようです。 どのパソコンで見ても適切なエンコードが選ばれるようにするにはどうすればいいのでしょうか? ちなみに、UTF-8のソースは、GoogleMapsをHTML化した物です。

  • 文字化け。

    REDHAT9でwebサーバをたてたのですがhpが文字化けしてしまいます。エンコードで日本語(シフト JIS)を選択すると大丈夫なのですが、一度ブラウザを閉じてまたくると文字化けしてて。 サーバに関してまだまだ無知なので力を貸していただければ幸いです。お願いします。

専門家に質問してみよう