• ベストアンサー

ブラウザの文字コード指定方法

ブラウザが文字コードを判別してくれない場合があり、質問です。 文字コードutf-8でhtmlファイルを作成し、<head>内へ、<meta http-equiv="Content-Type" content="text/html; charset=utf-8">の記述をしました。 自宅の開発環境(IE6)では問題無くページが表示されるのですが、先日外出先(IE7)でページを見てみると、真っ白く表示されてしまいました。 ブラウザのメニューから手動で文字コードをUTF-8に指定してやると、ちゃんと表示されるようになりましたが、一般のサイト訪問者へそんな作業をさせる訳にもいきません。 どうすればブラウザへ文字コードを自動識別させる事が出来るでしょうか? 有識者の方、いらっしゃいましたらどうぞ宜しくお願いいたします。

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

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

たまに見かけるんだけど <meta http-equiv="Content-Type"~ が2つ以上あったりとかね あと#1さんの言うように <meta http-equiv="Content-Type~ より上に2バイト文字があったりすると 正常に判定できない原因になったりするわ。 また、サーバ側が強制的に 別のキャラセットをHTTPヘッダに書き込んでいる なんて可能性も0ではないわ。 一つの可能性として書いておくわね。

その他の回答 (2)

noname#100277
noname#100277
回答No.3

真っ白とは別の問題で「文字化け」する場合の原因。 ブラウザ依存に成りますがsafariの場合は「font」を指定すると、結構な確立で文字化けが発生するのを意識するのも必要に成ります。 参考に・・・

  • TERIMAYO
  • ベストアンサー率36% (8/22)
回答No.1

軽く検索したところ、METAの挿入場所で真っ白になってしまうことがあるそうです。 <HEAD>タグと<TITLE>タグの間に挿入してみてください。 私のほうは環境ないのでm(_ _)mスミマセン・・・

関連するQ&A

  • ブラウザが文字コードを誤判別する

    PHPでフォームを含むHTMLを出力しています。 POSTを使ってページ移動すると、ブラウザが文字コードを誤判別します。 表示が文字化するのではなく、ブラウザのエンコードが誤判別され、POSTで次ページに移動するとPOSTされる文字列だけが文字化けします。 リンクによる移動では、誤判別しません。 php.iniの設定 default_charset = Shift_JIS mbstring.internal_encoding = EUC-JP mbstring.http_output = Shift_JIS PHPのソースは、EUC-JPで書いています。 出力するHTMLには、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/> をヘッダーに記述しています。 この現象は100%発生するわけではなく、完全にランダムです。 確実な再現手順はありません。 ブラウザは、WinXP Pro SP2 + IE6.0 です。 ブラウザの不具合でしょうか?

    • ベストアンサー
    • HTML
  • フォームの文字コードについて

    phpについて質問なんですが、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">となっているページのフォームの内容の文字コードをphp側で確認すると、文字コードが「EUC-JP」となっています。 これはこういうものなのでしょうか? ご教授よろしくお願いします。

    • 締切済み
    • PHP
  • 文字コード

    HPを作る際は <meta http-equiv="content-type" content="text/html;charset=shift_jis"> と <meta http-equiv="content-type" content="text/html;charset=utf-8"> のどちらにすればいいのでしょうか?

    • ベストアンサー
    • HTML
  • metaタグの文字コード指定について

    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> というタグがありますが、言ってみればこの部分もshift_jisで書かれているのに、相手側のコンピュータの文字コードがshift_jisじゃない場合、判別してくれて、うまく文字化けしないように表示してくれるんですか? 教えてくれる方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTML文字コード

    こんにちは。 文字コードのお話です。 PHPでテンプレートを呼び出して表示するのですが、UTF-8で指定しているのに、Shift-Jisで出力されている様子です。 HTMLのmetaタグで宣言しているのに、HTMLファイルだけがS-JISです。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> PHP側ではUTF-8を指定していて、そのページではきれいに表示されている文字と、文字化けしている文字がごちゃごちゃです。 htaccessの設定という可能性もあるでしょうか? HTMLに関連する問題だと思うのですが、ご存じの方いらっしゃいましたらご教授お願いします。。

    • 締切済み
    • PHP
  • 文字コードについて教えてください。

    ホームページを作成するときに指定する文字コードをどうしたらいいのか迷っています。 ウインドウズ環境でホームページを作る際、入力された文字は秀丸などの特別なソフトを使わなければ自動的にShift JISコードになると思うのですが、この場合、タグを <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> と指定するべきでしょうか?それとも、 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp"> と指定するべきでしょうか? ISO-2022-JPで指定した場合、ブラウザが必ずしも自動判別してくれないこともあるのでしょうか? また、CGIスクリプトはShift JISで入力するとエラーを起こすことがあると聞いたことがあります。 ホームページを作成する場合には、常にISO-2022-JPかEUCの文字コードで作成するようにしたほうがいいのでしょうか? いろいろ検索して調べてみたのですが、どうもよくわかりません。宜しく御願いします。 なお、gooのホームページを閲覧するときも頻繁に文字化けしています(文字コードがEUCに指定されていないのはなぜでしょうか?)。

  • xml宣言の文字コード変更

    xhtmlとcssでのコーディングを行った際、途中で「UTF-8」で作成してと言われました。 そのため、作成していたコードの冒頭をshift_jisからUTF-8にかきかえてみたところ、文字化け。ブラウザの表示をUTF-8に変えても化けたままなので、作業にならんと宣言をshift_jisに戻しました。 が、書き換えても文字化けが直りません。 宣言自体を消して保存しなおしたりもしたのですが、以前文字化けたままです。 テキストエディタで見るとちゃんとshift_jisになっているのですが、 これはどうすれば直るものなのでしょうか? 手を入れたのは以下の二行になります。(抜き出してるだけですので実際はheadタグ等を挟んでいます) 初期 <?xml version="1.0" encoding="shift_jis"?> <meta http-equiv="content-type" content="text/html; charset=shift_jis" /> ↓ UTF-8に書き換え <?xml version="1.0" encoding="UTF-8"?> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> ご教授ねがいます。

  • 携帯サイトで文字コード指定のメタタグは必要?

    phpで携帯サイトを作っています。 ソースコードをutf-8で作成して、表示する際にShift_JISに変換して出力しています。 ソースコード中の<head>の中には、 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> というタグを記述しています。 この、ソースコードをDreamweaverで編集したいのですが、Shift_JISで開こうとしてしまい、 文字化けしてしまいます。 コメントで先頭に以下のように記述すると、utf-8で開く、というtipsのようなものを 見つけたので、その通りにしたところ、開くときはOKです。 <?php //<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ?> ですが、保存すると、 Shift_JISで保存してしまいます。 多分、 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> というほうを認識してしまっているんだと思うのですが、そこで質問です。 携帯端末では、この指定は必須のものでしょうか? PHPからは、HTTPヘッダで文字コードも指定しているので、いらない筈だと思うのですが、 携帯ブラウザの中には、メタタグが必須のものもあるのかどうかが知りたいです。 また、Dreamweaverで、utf-8を指定して保存する方法があれば、そちらでもかまいません。 Dreamweaver は cs3(windows) を使っています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • コード上の埋込み漢字コードの文字化け

    PHP のソースコード上に埋め込んでいるべた書きの2バイトコードが 文字化けを起こしてしまいます。以下、経緯を含め詳しく書きます。 1.HTMLのFORMよりデータを入力。(toiawase.html) 2.PHPにて、入力データをWebブラウザ上に表示して確認。(mail_kakunin.php) 3.PHPにて、確認済みのデータをmail()関数にて送信。(mail_send.php) 上記の状態で正常動作を確認。 「1」の toiawase.html にて、charsetをUTF-8にする必要があり 下記のように charset のみ書き換えました。 <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下の不具合が発生しました  ・上記の「2」の部分ですでに入力したデータのみ文字化けを起こす。  ・当然、「3」にての送信でも入力データのみ文字化けして送られる。 よって、「2」のmail_kakunin.php にも以下の分を追加しました <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" /> すると以下のような不具合が発生しました  ・上記の「2」の部分で入力データは mb_convert_encoding() で UTF-8   に変換し、文字化けしませんが、今度はPHPのコーディングでべた書きの2バイト   コードが文字化けを起こす。 HTML上で、UTF-8 の漢字コード指定なので、PHPにべた書きの2バイトコードも UTF-8 で出力する必要があるのですが、やり方がわかりません。 ご存知の方教えていただけると助かります。

    • ベストアンサー
    • PHP
  • XML宣言の省略、文字コード指定について

    今、WEBの事を勉強している身です。 "XML 宣言が省略されると,文字コードセットは UTF-8 または UTF-16 になる。"という記述がされた解説サイトを目にしました。 もし文字コードをUTF-8にしたいとして、XML宣言を省略する場合は、 <head>タグ内に「<meta http-equiv="Content-Type" content="text/html; charset=utf-8">」という文字列を記述しなくてもよいのでしょうか? 記述した方がよいかもしれませんが、記述しなくても問題無いのでしょうか?

専門家に質問してみよう