- 締切済み
ブラウザのエンコード 自動選択について
ブラウザが何を基準にエンコードを自動選択しているのか? 判断基準の一つに、metaタグを使ったcharsetでの指定があるかと思います。 EUCを指定する場合に、以下の様に記述してみました。 <meta http-equiv="content-type" content="text/html;charset=EUC-JP"> と、 <meta http-equiv="content-type" content="text/html;charset=EUC_JP"> ※EUC_JP EUC-JP "_"と"-"の差です。(アンダースコアとハイフン) です。 (EUC_JPと記述した場合) 別々のPCで同一のブラウザ(IE6)を使用し表示させるも、白紙の画面と正常画面と差が出ます。 charset=EUC_JP は、間違いで、charset=EUC-JPが正解という所までは辿り着いたのですが、殆どのブラウザでは、EUC_JPでも表示されます。IEも含めて。 表示されない側では、 charset=EUC_JPにしていると、ブラウザがエンコードをShift_JISに自動設定するため表示が空白になってしまうようです。 それもバージョンも同じブラウザ間での差です。 ブラウザ(IE)の設定は見る限り同じです。(エンコードは、自動選択) 結果的には、charset=EUC-JPにて解決済みですが、 EUC_JPでも問題なく表示できていたのは、何故なのでしょうか。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- エンコードの自動選択の件
EUCでTeraTermからLinuxWebサーバへ送信しているので、 ブラウザのエンコードがEUCになるように <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">と htmlページで<head></head>間に挿入したのですが、 どうも、自動選択でブラウザが、「日本語(EUC)」 を認識しません。この教えて!Gooも確か、 日本語(EUC)だったと思いますが、ちゃんとブラウザで 認識されております。 私のサーバーに問題があるのでしょうか? それとも、<meta>タグがこれだとまだ足りないのでしょうか? サーバーは関係ないとどこかで聞いたことがあるんですが。 どなたかご存じの方、アドバイスお願いします。
- ベストアンサー
- HTML
- エンコードの自動選択について
この機能って何を元に自動で選択をしているのでしょうか?サーバーにあげて見てみるとプログラムによってシフトJISを選択する場合とEUCを選択する場合があって困っています。シフトJISが選択されると表示されません。(EUCを指定すると見えますが。) 過去の質問を参考にして <META http-equiv="content-type" content="text/html; charset=EUC-JP"> を追加してみたがシフトJISが選択されて表示されませんでした。どうか教えてください。
- ベストアンサー
- PHP
- エンコードの自動選択について
この機能って何を元に自動で選択をしているのでしょうか?PHPで作ったプログラムをサーバーにあげて見てみるとプログラムによってシフトJISを選択する場合とEUCを選択する場合があって困っています。シフトJISが選択されると表示されません。(EUCを指定すると見えますが。) 過去の質問を参考にして <META http-equiv="content-type" content="text/html; charset=EUC-JP"> を追加してみたがシフトJISが選択されて表示されませんでした。どうすれば誰でも見れるようになりますか?
- ベストアンサー
- ブラウザ
- ジオシティーズで作るのならeuc-jp?
yahooジオシティーズでHPを作る際は、絶対に <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-jp"> ってやらないとうまくひょうじできないのでしょうか? <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-jp"> をしないでIEで表示しようとすると文字化けしてしまいます。
- ベストアンサー
- HTML
- 文字コード変更による、文字化け・レイアウト崩れ
文字コードをShift-jisからEUC-JPに変更したいのですが、 HTML・CSSに処理を施したら文字・レイアウトが大幅に崩れてしまいました。 以下のように変更したのですがやり方に間違いはないでしょうか? [HTML] <meta http-equiv="Content-Type" content="text/html; charset=Shift-jis"> ↓↓ <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> [CSS] @charset "shift_jis"; ↓↓ @charset "euc-jp"; また、ブラウザの表示⇒エンコードで(Shift_jis)を選択すると今までどおり正常に表示されます。(HTMLとCSSにはeuc-jpの記述にも関わらずです) これは文字コード変更したと思い込んでしまっているのでしょうか? 解決策お願いします。 あまり知識がありませんので、分かり易く教えていただけるとありがたいです。 ちなみにエディタはHTML Project2を使用しています。
- 締切済み
- HTML
- HTMLのソースの文字化けを防ぐ方法
Win2000とIE6.0の環境であるサイトを開き →エンコード→「自動選択」、もしくは 「日本語(EUC)」 →ソースの表示 とやっても文字化けします。 文字化けしないようにソースを開きたいです。 この問題について対処法が分かる方がおりましたら、お返事頂ければ嬉しいです。 ちなみに、開いたソースの <META http-equiv=Content-Type content="text/html; charset=EUC-JP"> は読み取れます。
- ベストアンサー
- HTML
- HTML・PHPの文字化け
こんにちは。 PHPとMySQLを使ってショッピングカートを作ろうと思ったのですが、しょっぱなから躓いてしまいました・・・。 index.htmlでメタを <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> とeuc-jpにしたのですが、サーバーにアップすると文字化けしてしまいます。 表示のエンコードで確認するとシフトーJisになっています。eucにするとちゃんと表示されるのですが、更新するとやはり文字化けします。PHP・MySQLがeucですので、困っています。 どうにか対処方法はないでしょうか?ご教授をよろしくお願いします。
- ベストアンサー
- HTML
- charset=UTF-8なのにShift-JISになっちゃいます!
<META http-equiv=content-type content="text/html; charset=UTF-8"> と記述して、ブラウザ(IE6)で確認したのですが真っ白な画面になり、ブラウザのエンコードを確認した ところShift-JISになっていました。自動選択にしてもShift-JISになってしまいます。 UTF-8でどうしてもウェブを作りたいのですがエンコードがShift-JISにならない方法を教えていただけないでしょうか? 使っているエディタは秀丸です。
- ベストアンサー
- PHP
- ブラウザが文字コードを誤判別する
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
- CGI.pmのstart_htmlで思い通りのMETAタグを出せない
CGI.pmのstart_html()を使用してMETAタグを出力しようとしているのですが、思うように出力できません。 具体的には次の文字列と全く同じものを出力しようとしています。 <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> いろいろやってみたのですが、どれも微妙にこれとは違うのです。 どなたか教えてください・・・。 今のところ、これに最も近かったのは、 print($q->start_html(-head => $q->meta({"-http-equiv" => "Content-Type", -content => "text/html; charset=EUC-JP"}))); で、これの出力(METAタグ部分)は、 <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> でした。 お尻にスペース1個とスラッシュが付加されてしまいます・・・
- ベストアンサー
- Perl
お礼
ご回答、ありがとうございます。 不明だからShift_JISでパースした。これは、正解だと思います。 しかし、不明だからShift_JISなのか、不明でもEUCになるブラウザも あります。 ブラウザ自動選択がEUCだと思ったのでEUCにしたと思いたいのですが、 その理由が見つかりません。 ちなみに前のページの文字コードでは無いようです。 EUC_JPでは、ブラウザの自動判別エンコードでは、 EUCとして、認識されないはず。されてもそれは偶然位の事でしょうか。 同一バージョンのブラウザ間で、アルゴリズムが違うというのも考えにくいと思いますが、 なにか学習機能みたいなことであれば、判断基準が違っても不思議ではないですね。 > 同じ環境なのに結果が異なったのは、同じようにサイコロを振ったのに違う目が出たというのと同じようなものです。 何度やっても、ダメなPCはダメ、正常に見えるPCは、見える という結果では、ありました。 ご回答、ありがとうございました。