- ベストアンサー
エンコードの自動選択について
この機能って何を元に自動で選択をしているのでしょうか?PHPで作ったプログラムをサーバーにあげて見てみるとプログラムによってシフトJISを選択する場合とEUCを選択する場合があって困っています。シフトJISが選択されると表示されません。(EUCを指定すると見えますが。) 過去の質問を参考にして <META http-equiv="content-type" content="text/html; charset=EUC-JP"> を追加してみたがシフトJISが選択されて表示されませんでした。どうすれば誰でも見れるようになりますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
基本的には、サーバから送られる情報、ページの先頭に記述されている文字コード指定、これらが無い場合は、ブラウザが勝手にそれらしい文字コードとして表示するはずです。ブラウザによる自動判別の方法については、 ページ先頭にあるいくつかの文字のコードを元に、それが含まれているコードと推定するようです。 御質問のケースでは、サーバが文字コードを指定しているのではないかと思います。 サーバの指定とページの指定が異なる場合は、サーバの指定が優先される規定です。ページにいちいち指定を書くのが面倒とか、ページ指定しないで文字化けされるのを防ぐという意図(そのサーバ内のページはすべて同じ文字コードという前提ですが)で、このような指定ができるのです。サーバの管理者に相談されるのが良いと思います。サーバの設定を外してもらえなければ、サーバの指定に合わせるしか無いですね。 なお、IEでは、このあたりが勝手に解釈されているらしいです。一部のページで文字化けしたり、誤った設定してても表示されたり・・・ http://www.mozilla.gr.jp/standards/webtips0022.html の後半あたりを参考にしてみてください。 それでわからなければ、具体的なページを挙げてバグジラあたりで訊いてみては??
お礼
ありがとうございます。解決しました。 <head><title>日本語</title> <META http-equiv="content-type" content="text/html; charset=EUC-JP"> </head> と最初に日本語が入っていたためにシフト-JISになっていたようです。勉強になりました。