• ベストアンサー

エンコードの自動選択について

この機能って何を元に自動で選択をしているのでしょうか?サーバーにあげて見てみるとプログラムによってシフトJISを選択する場合とEUCを選択する場合があって困っています。シフトJISが選択されると表示されません。(EUCを指定すると見えますが。) 過去の質問を参考にして <META http-equiv="content-type" content="text/html; charset=EUC-JP"> を追加してみたがシフトJISが選択されて表示されませんでした。どうか教えてください。

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

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

スクリプトからの出力はEUC-JPなんですよね?もしかしたら、PHPの設定、mbstring.http_outputあたりがSJISになっているという事はありませんか? PHPは出力の際、contents-typeヘッダを出力しますが、その際charsetも出力するようです。この値と、実際の出力の文字コードが違うと、ブラウザ側で混乱するような気がします。 実際に検証した事はありませんので、実験してみて下さい。

参考URL:
http://www.php.net/manual/ja/ref.mbstring.php
hurikake
質問者

お礼

ありがとうございます。解決しました。 <head><title>日本語</title> <META http-equiv="content-type" content="text/html; charset=EUC-JP"> </head> と最初に日本語が入っていたためにシフト-JISになっていたようです。勉強になりました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

ネットスケープ系のブラウザは、charsetをちゃんと確認しますが、IEは、これを結構無視して自分で判断するようです。(そのために間違う場合があるのだと思います) >何を元に自動で選択をしているのでしょうか? 多分、初めの方をある程度読んでみてそのデータを元に文字コードの判別をしているのだと思われます。 (必然的に、そういう方法だと間違う場合があります) なので、これはもうこういうふうになっているとしか言いようがないです。 MSに文句のメールをだしましょう いずれにしても、charsetは、指定するようにした方が良いです。

hurikake
質問者

お礼

誰でも見れるような何かいい方法はないでしょうか?

回答No.1

これは恐らくブラウザ(IE)の表示エンコードの質問ですよね。カテゴリ違いだと思います。こちらは締めて TOP > コンピューター [家庭向け] > ソフトウェア > ブラウザ あたりで質問されるとよいと思います。

関連するQ&A

専門家に質問してみよう