サイトの文字化け防止方法

このQ&Aのポイント
  • サイトが文字化けする原因と防止策について説明します。
  • 文字化けを防ぐためにはHTMLの文字宣言を適切に設定する必要があります。
  • 以下のコードを<head>タグ内に追加することで文字化けを防ぐことができます。
回答を見る
  • ベストアンサー

サイトの文字化け防止

サイトがたまに文字化けして  「?R???e???c?E???j???[」こんな感じになってしまいことがあります。 これを防止するにはHTMLの文字宣言をどう書けばいいのでしょうか? HTMLをちょっと忘れ気味なんですが、ヘッダーの前にこのように書きました。 <?xml version="1.0" encoding="Shift_JIS"?> <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />

  • HTML
  • 回答数5
  • ありがとう数0

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

  • ベストアンサー
  • LOHA
  • ベストアンサー率52% (203/388)
回答No.2

通常、文書で文字コードが明示的に指定されている場合、ブラウザは自動判別せずその文字コードに従うはずです。 そのため、文書でちゃんと文字コードを指定しているのであれば、保存・出力の際の文字コード指定が文書のと異なることが文字化けの原因なことが圧倒的かと思います。 ですので、おそらくおまじないを書いても治らないと思います。 保存・出力部を見直しましょう。

seed_twice
質問者

補足

出力部ってどこのコードのことでしょうか?

その他の回答 (4)

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.5

出力部というのは、PHPなどで動的にコンテンツを表示することを想定して書きました。 少し言葉足らずでしたね、すみません。 静的なページならファイルの保存の時だけ気をつければ大丈夫です。 他には、ブラウザで特定のページのエンコーディングをメニューから変更すると、その設定が一時的に保持されたりするので、そういう場合でも時々文字化けるというシチュエーションに相当するかもしれません。これは技術でどうこうできる問題ではありませんが。。。

  • hymat
  • ベストアンサー率58% (95/162)
回答No.4

<!-- あ -->の件は、古い話ですが、HTML内に charset=Shift_JIS などと明示してあっても、それを無視して文字コードを勝手に自動判別するブラウザーに対応するためのものです。 Shift_JISのページでは「あ」、EUC-JPの場合は「込」などと書いておくと、自動判別機能が文字コードを間違って判別するのを防げる、という話ですが、今ではたいていUTF-8なので、古い話なわけです。 ただ、「たまに文字化けして」とあったので、古いブラウザーとかかな?と思って書きました。

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.3

保存時の文字コードが違うって事です。 例えば「Unicode」で保存したとか、 「ECU-JP」だったファイルを内部だけ「Shift_JIS」に変更したとか・・・ なので、今の文章(HTML)をコピーして、 メモ帳なりテキストエディットなりの新規制作ファイルにペーストして、 保存時に 「ANSI」や「Shift_JIS」で保存しましょう。(自動でもよいでしょう) ※ 1行目は空けない事

  • hymat
  • ベストアンサー率58% (95/162)
回答No.1

Shift_JISなら、それで良さそうですね。 たまにバケる、ということなら、念のため、おまじないとして <!-- あ --> と書き込んでおくと良いかもしれません。 http://www.tohoho-web.com/wwwxx005.htm

seed_twice
質問者

補足

<!-- あ --> おまじない? これってどういうことでしょうか? 日本語入力することで認識させるってことでしょうか

関連するQ&A

  • XHTMLの文字コードのEUC-JPの文字化け

    いつもはHTML4.01で作業をしていて XHTMLはどうも不慣れなせいか 今、外注が作成したHPを修正していて 文字コードをEUC-JPにどうしても変更しなければならないのですが それがうまくいかず、文字化けが発生してます。 <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> を <?xml version="1.0" encoding="euc-jp"?> <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> このように設定したら文字化けが発生しました。 どのように設定したら文字化けがなくなりますか?

  • 文字コードについて

    <?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" id="sixapart-standard"> <head> <meta http-equiv="Content-Type" content="text/html" charset="Shift_JIS" /> </head> というように文字コード指定をしているのですが、なぜか文字コードがUTFになり、shift jisにすると文字化けしてしまいます。 どなたかアドバイスお願いいたします。

    • ベストアンサー
    • HTML
  • i-modeでxhtmlをみるには、、

    Perlからxhtmlをはきだして、i-modeで見れるようにしたいのですが、 表示がうまくいきません。 ヘッダーは Content-type: text/html; charset=Shift_JIS <?xml version="1.0" encoding="Shift_JIS"?> <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> こんな感じです。 「Content-type: text/html; charset=Shift_JIS」の部分を 「Content-Type: application/xhtml+xml」や 「Content-Type: application/xhtml」等でやっても表示されませんでした。 もし分かる方がいましたら教えてください。 宜しくお願いします。

    • 締切済み
    • XML
  • charsetとフォーム入力文字

    Htmlファイルの先頭が <?xml version="1.0" encoding="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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ・・・ で始まります。 このファイルのフォームに入力した文字はUTF-8で送られるのでしょうか。 それともOSの文字コードに依存するのでしょうか?

    • ベストアンサー
    • HTML
  • xhtmlのスタイルシートについて

    <?xml version="1.0" encoding="Shift_JIS"?> <!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" lang="ja" xml:lang="ja"> <head> <meta name="robots" content="noindex,nofollow,noarchive" /> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> t { color : 407133; k { color : 337060; r { coior : 454580 &gt; </style> ↑どこか間違っているところがありましたら教えてください。 <span class="#407133">てすと</span> 文字色が変わりません。 どなたか指摘願います。

  • 新規にウィンドウを開いたときに文字化けします。

     お世話様になります。 ただいま、HPを作っているのですが、ウィンドウを開くと、文字化けをします。  但し、右クリックで、エンコードを自動選択にすると解消されるのですが、最初から文字化けせずに表示させる方法は無いものでしょうか。 <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  このような記述方式をとっております。 他にも同じようなHPを作成しているのですが、他は、この記述で全く問題ないのですが、今現在作っているHPに関してのみ、文字化けした状態でウィンドウが開かれます。  皆様、お忙しい中恐縮ですが、解消する方法をご教示頂ければうれしいです。  宜しくお願い致します。

    • ベストアンサー
    • HTML
  • utf-8のページの文字化け

    いろんなサイトを見ている際に時々あるのですがUTF-8のサイトに限り IE(使用しているブラウザはIE6)で文字のエンコードがうまく取得?できず 文字化けの状態でページが表示されています。 表示→エンコード→UTF-8を選択肢更新すると正常に表示されます。 2度目からは正常に表示されるので始めて見たサイトに限られる ようなのですがこれはブラウザが原因でしょうか? (自動選択にチェックはついています) ソースを見ると <!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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ・・・ となっておりエンコードでUTF-8を選択すると正常に表示される とこを見るとおかしい箇所もないようです。 私の持っているサイトは現在Shift_jisで作っているのですが リニューアルを機にUTF-8で作り直す事を検討中なのですが一部で 文字化けするのでは・・・と迷っております。 これはなにが原因なのでしょうか? 宜しくお願い致します。

  • 作成したホームページがIEでは表示されない

    xhtmlとcssでページを作成しました。 FireFoxではローカルでもネットにアップした状態でも見ることが出来るのですが、 IEを使用すると、ローカルでは見れるのですが、ネットに上げたものは指定した背景の色しか表示されません。 何が原因なんでしょうか。 よろしくお願いします。 <?xml version="1.0" encoding="Shift_JIS"?> <!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"xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" /> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head>

  • XHTML meta属性 文字化け

    XHTMLを勉強しています。 以下のように記述して表示すると タイトルの部分が文字化けします。 何故でしょうか <?xml version="1.0" encoding="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" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>ホームページの作り方</title> <meta name="description" content="初心者のためのホームページテスト" /> <meta name="keywords" content="ホームページ,作成,初心者" /> </head> <body> テスト </body> </html>

    • ベストアンサー
    • HTML
  • 携帯サイトで中央揃えなどが認識されません

    3キャリア共通の携帯サイトを作成しています。 宣言は下記の通りです。 <?xml version="1.0" encording="Shift_JIS"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset-Shift_JIS"/> ------------------------ レンタルサーバーにあげてみると、 <div style="text-align:center;">での中央揃えや、<span>タグでのフォントサイズ指定が反映されません。 拡張子を「.xhtml」にして直接ファイル名指定してアクセスすると、ドコモでは反映しますが、ソフトバンクではエラーとなり、表示がされません。 色々な質問サイトや書籍を調べたのですが、これといったものがなく。。。 サーバー側の設定等なのでしょうか? それとも記述が違う、足りないといったことが原因でしょうか。 可能性のありそうな原因のアドバイスをいただけませんでしょうか。 モバイルサイトの作成ははじめてのため、お手上げ状態です。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう