
宜しくお願いします。
[質問]
文字コード指定のないWebページ表示に文字化けするのはHTML
ファイルのせいかブラウザ(IE)のせいか?
Shift-JISで文字コード指定を明示的にしてないHTMLファイル
をIEで表示するとタイトルバーやページ上の日本語文字が文字
化けすることがありますが、これは文字コードの指定をソース
コードで行ってないHTMLファイルのせいなのか・それともIEが
誤動作したせいなのか?
どちらのせいかご存じの方いたら教えてください。
また、文字コード指定がないHTMLファイルで文字化けする時、
なぜ普段使用してない文字コードでHTMLファイルを読み込もう
とブラウザがするのかご存知の方いたら教えてください。
(テキストファイルだと文字コード指定して保存できますが、
HTMLファイルは文字コード指定して保存できないと思うので、
通常Shift-JIS選択してページ閲覧している環境でわざわざ他
の文字コードで読み込もうとするのか疑問です。)

No.6ベストアンサー
- 回答日時:
HTMLファイル作成のアプリケーションとはHTMLエディタやテキストエディタのようなものですよね?
.html、.htm、両方とも文字コードを選択できるものがありますよ。
最近のフリーのソフトでもEUC-JP、UTF-8、JIS、Shift-JIS、Unicodeは選べますよ。
それ以降の説明は成り立つと思いますよ。
ご存知かも知れませんが念のために文字コードについて詳しく解説されているページを貼っておきますね。
参考URL:http://www.kanzaki.com/docs/jcode.html
ご説明ありがとうございました。
ご指摘いただきましたように、フリーのHTMLエディタを使ってみたところ、HTML(.html)形式で保存する時でも文字コード指定できることを確認しました。
すっきりしました。ありがとうございました。
※ez-HTMLというエディタを使ってみたのですが、METAタグでshift-jisの文字コードを指定するHTMLファイルを、エディタの機能で[Unicode]形式で保存して、IE6.0で開いてみたら、IEのエンコードは[Unicode(UTF-8)]になってました。
No.5
- 回答日時:
#4 の方への補足より
>HTMLファイル(.htm/.html)は、テキストファイルのように
この認識が疑問を生んでいるではないかと思います。
たぶん質問者の知識(認識)に対して言いますと、HTMLファイル(.htm/.html)は、テキストファイルの一部なのですが・・・。
拡張子を意識するなら、保存時の文字コードがファイル名(拡張子)を変更するだけで変わるという事ですよね???
もしHTMLファイル(.htm/.html)は文字コードが指定できないが、テキストファイルは文字コードを指定できるとしても、テキストファイルとして保存した後に拡張子を変更すれば・・・。
HTMLファイルの作成で言えば、特定の文字コードでしか保存できないツールなのか、保存時の文字コードをツールの初期値のままで(知らないで)使用している
のではなければ、ツールで文字コードが選択できるのが普通ですが・・・。
というか、HTMLファイルだからという理由で作成が制限される物事はないと思いますが・・・。
>何らかの文字コードで作成されたHTMLファイル
>(文頭にMETAタグによる文字コードの指定がない)を表示する際、
>ブラウザ側は独自に判断(エンコード)して表示に使用する文字コードを選択する、
>そのため時々文字化けすることもある。
#3 でも回答しましたが、まずサーバがヘッダ情報として文字コードの情報を適切に送っているかが問題です。
閲覧側のブラウザ等のツールでは閲覧者はサーバがヘッダ情報を適切に送っているかは調査はできないと思います。
その上で、サーバが送っているヘッダ情報とHTMLファイルの文字コードが異なると、その時点で文字化け・・・。
サーバがヘッダ情報として文字コードを送っていなくてその上で文頭にMETAタグによる文字コードの指定がない場合に、ご指摘のブラウザの誤判断での文字化けの可能性はあります。
ご回答ありがとうございました。
> HTMLファイルの作成で言えば、特定の文字コードでしか保存
> できないツールなのか、保存時の文字コードをツールの初期値
> のままで(知らないで)使用しているのではなければ、ツール
> で文字コードが選択できるのが普通ですが・・・。
別の方からの回答で解決したのですが、私の知識不足でHTMLファイル
には文字コード指定で保存できるということを知りませんでした。
(普段、notepad.exeでHTMLを見てました。。失礼しました。)

No.4
- 回答日時:
ブラウザはHTTPヘッダから貰った文字コードで表示しようとして、でも日本のプロバイダのサーバーの多くはHTTPヘッダで文字コードを送っていないので、メタの文字コードを参照しようとするのですが、そこにも書かれていなければある程度内容で判断するか、デフォルトの文字コードのようなものがありそれで表示するので文字コードが合わなければ文字化けするのです。
ブラウザはそれなりに努力するように作られているようですから、やはり文字コードを指定しない作成者が悪いと思います。
http://www.kanzaki.com/docs/sw/http-header.html
参考URL:http://www.mozilla.gr.jp/standards/webtips0022.h …
この回答への補足
cyokokichi様
回答ありがとうございます。
参考URLも参照させていただきました。
その中で、下記URLの情報をもとにあらためてお聞きしてみたいことがあるのですが。お時間ございましたら回答いただけると幸いです。
http://www.mozilla.gr.jp/standards/webtips0022.h …
このサイトの一番始めで「HTMLで日本語を使用する場合は、ファイル保存の方法が複数ある」と説明されていました。
これを信じると、HTMLファイル(.htm/.html)は、テキストファイルのようにファイル作成の際に文字コード指定を行う(もしくは、ファイル編集を行うアプリケーションなどが裏側で勝手に行ってる)ことができるもの、なんでしょうか。
また、この認識でいくと、何らかの文字コードで作成されたHTMLファイル(文頭にMETAタグによる文字コードの指定がない)を表示する際、ブラウザ側は独自に判断(エンコード)して表示に使用する文字コードを選択する、そのため時々文字化けすることもある。という説明が成り立つのでしょうか。
何度もすみませんが、宜しくお願いします。
No.3
- 回答日時:
Opera などは事前に文字コードを指定できるので、その場合は、ブラウザのせいと特定できる事もありますが・・・。
文字コードの自動選択の失敗となると、それ自身はブラウザの失敗ですが、判定する為の情報がないとか誤っている可能性がある訳で、対象の HTML ソースに適切な情報がないのも問題ですし、サーバが情報を付加していなかったりしても困るし、一番の問題はサーバがソースと異なった情報を付加していたらサーバの問題というかソースの保存の問題というか・・・。
結局、使える文字コードはある程度選べるのですから、それぞれの適切である情報が存在する必要があるという共同責任でしょう。
まぁ今回の質問の例示の疑問の可能性は、やはりサーバが付加する情報とソースの実体が異なるという可能性が高い気が・・・。
(サーバ側に視点を置けば、情報に合わせた文字コードで保存しない HTML ファイルのせいだし・・・。
また、ファイル側に視点を置けば、保存した文字コードと異なる情報を付加するサーバのせいだし・・・)
>(テキストファイルだと文字コード指定して保存できますが、
>HTMLファイルは文字コード指定して保存できないと思うので、
>通常Shift-JIS選択してページ閲覧している環境でわざわざ他
>の文字コードで読み込もうとするのか疑問です。)
読み込んだ(表示した)後の動作を理由として読み込む動作を考えるのはどうかと・・・。
No.1
- 回答日時:
まあどちらも悪いんですが、「誤動作」したのはどちらかと問われればIEでしょうね。
自動判別に失敗したんですから。>普段使用してない文字コードでHTMLファイルを読み込もう
とブラウザがするのかご存知の方いたら教えてください。
WindowsXPや2000の標準はShiftJISではなくUnicodeですよ。Unicodeとして読み込んだんじゃないですかね。
HTMLファイルも、テキストエディタで保存すれば文字コードを指定して保存出来ます。ただブラウザは通常、そんなのは当てにせずヘッダに指定してある文字コード指定をまず参照しますが。
例えば、このページを右クリックして「ソースの表示」をすれば、「 charset=Shift_JIS"」と書いてあります。
ご回答ありがとうございました。
ポイント差し上げられずすみませんでした。
WinXPやWin2000の標準がUnicodeというのは知りませんでした。
これはMicrosoftの技術情報サイトなどに載ってる仕様なのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- HTML・CSS docxをmht形式で保存したファイルをedgeで開くと文字化けする 1 2022/07/29 13:14
- HTML・CSS HTMLエディタBracketsの文字化け 3 2022/04/28 14:50
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dreamweaverでページ全体が文字...
-
SSIでレイアウトが崩れる?
-
テキストエディタ grepの機能...
-
DreamWeaver文字コードが変更さ...
-
一括置換で、すべてが文字化け!
-
テキストエディタvscodeでプロ...
-
HTMLでどうしても文字化け(エ...
-
エクセルで作成した表のハイパ...
-
HTMLからフォルダを開きたい
-
見れる方・・
-
HTMLページが勝手にダウンロー...
-
Excelで、社外秘(閲覧のみ)と...
-
java_run.batがダウンロードで...
-
iPadの標準ブラウザでローカルH...
-
URLに「.html」の拡張子がなく...
-
Selenium Excel AddInのインス...
-
Webサイトから、txtファイルを...
-
pythonのエラーについての質問...
-
コメントが閉じてないというエ...
-
httpdで接続が拒否される
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストエディタvscodeでプロ...
-
Dreamweaverでページ全体が文字...
-
エクセルで作成した表のハイパ...
-
テキストエディタ grepの機能...
-
「x-sjis」「Shift_JIS」同じ意...
-
HTMLの<a>タグで [テキスト文(....
-
リソースビューが表示されない(...
-
ホームページを作りたいのです...
-
htmlファイルの表示が真っ白
-
eclipseを使ってweb上に表示さ...
-
Dreamweaverでソースが文字化け...
-
HP作成で…日本語と韓国語表示
-
大切なデータを誤って上書きし...
-
オフラインでのHTMLについて
-
htmlファイルが開けません。
-
EUCファイルの扱い方?
-
HTMLファイルからリンクタグだ...
-
半角カタカナ(csvやtxtデータ...
-
文字コードって結局どれを使うの?
-
SSIでインクルードしたファイル...
おすすめ情報