Webサイトを制作して、サーバー上にアップしたのですが、IEのみ文字化けして閲覧出来ません。 というより[utf-8]にしているのですが、[JIS ]に変換されているようです…。 metaタグの部分を何度か書き換えてみたのです

Webサイトを制作して、サーバー上にアップしたのですが、IEのみ文字化けして閲覧出来ません。 というより[utf-8]にしているのですが、[JIS ]に変換されているようです…。 metaタグの部分を何度か書き換えてみたのです が、変化なしです。 他に対処法などありませんでしょうか? ※IE上でエンコードをutf-8に変えると正常になります。

補足

今記載しているのが、こちらです。 ---------------------------- <!DOCTYPE html> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>●●●●●●●●●</title>

ベストアンサー

0

いろいろ間違いだらけの回答が集まっているんで、 補足しながら回答。 ■■■ Web ページは基本 utf-8 ■■■ IE が JIS 前提で作られているとか、 UTF は一部のブラウザでしか動かないとか、 とんでもないデタラメ回答が付いているけど、 UTF も JIS も Shift_JIS も EUC も、 どの文字コードも一般的なブラウザですべて等しく利用可能。 そのうえで、 Web ページを作成するときは、 エンコードタイプは utf-8 で作成することが 標準仕様として推奨されている。 理由は、 Javascript を含めて、 Web 上で HTML と連携して使用される他の言語のほとんどが、 UTF エンコードをベースに動作しているから。 JIS などは、 それらの言語との連携で相性が悪いため非推奨とされている。 ■■■ <meta> の書き方 ■■■ <meta> の書き方について、 HTML4.01 時代は、 ──────────────── <meta http-equiv="content-type" content="text/html; charset=utf-8"> ──────────────── とされていたが、 HTML5 では、 ──────────────── <meta charset="utf-8"> ──────────────── のように簡潔に記述できるようになった。 ただ、 簡潔な記法が新しく勧告されたというだけのことで、 HTML4.01 時代の記法が廃止されたわけでも非推奨になったわけでもない。 現 HTML5 では、 上記の2通りの書き方が可能で、どちらでもいい。 ちなみに、 ──────────────── <meta … /> ──────────────── のような最後のスラッシュ「/」は XHTML の文法に沿った記述方法で、 HTML4.01 の頃は HTML では不可とされていたけど、 HTML5 では XHTML の記法も許容されているんで、 付けても付けなくてもどっちでもいい。 ■■■ 文字化けについて ■■■ HTML コード上では、 とくに文字コードの指定の部分で問題のある個所はない。 また、 質問や他回答への返信に提示されたコードで、 こちらの IE11 で試してみたけど、 エンコードを選び直さなくてもちゃんと utf-8 で表示できているんで、 質問者さんの IE 自体の問題かと思われる。 いちおう、 <meta> によるエンコード指定が IE で正しく認識されない問題が、 あちこちで報告されているが、 原因として考えられる要素は多様で、特定は難しいようだ。 https://docs.microsoft.com/ja-jp/troubleshoot/browsers/wrong-character-set-for-html-page IE については、 ブラウザとしての問題があまりにも多く、 HTML5 を含めた近年の Web 環境の変化について来れなくなったため、 そもそも Microsoft 自身が「もう使うな」と言っているブラウザだから、 IE で起きる問題については、無視して大丈夫だと思う。 自分も、 MicrosoftEdge が使えるのが win10 からだったから、 win8.1 のライフサイクルが終わる 2023 年までは IE11 への対応が必要かと思っていたけど、 Microsoft 自身が IE11 を完全に見捨て、 最近の アップデートで win8.1 にも Edge が自動インストールされ、 PC の起動と同時に、 ブラウザの切替えを促すメッセージまで出る始末。 もう IE は忘れよう。

ThanksImg質問者からのお礼コメント

とても分かりやすく、的を得た回答をありがとうございます! 私自身はMacなのでIEを使わないのですが、クライアント側がIEを使用しているので、どうにかしないと!ってなってしまいましたが… FilleZillaで接続して操作しているので、どーも上手く行ってないのかな?などと色々考えましたが。 ありがとうございました^^ ひとまず、IE11で表示できるなら、こちら側の問題だと思うので…どーにかします!

お礼日時:8/8 12:20

その他の回答(3件)

0

HTML5では、 <meta charset="UTF-8"> ですけれど、 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> でも良いはず。最後の/は要りません。 IANAのcharsetの登録名に「JIS」はありません。 「JIS」というのは、「ISO-2022-JP」の事でしょう。 「ISO-2022-JP」を俗称で「JIS」と表記するアプリケーションがあるからです。 「ISO-2022-JP」はメール用の文字コードでHTMLでは通常使用されません。使えないわけでは無いけれど今時使用しているサイトはないでしょう。 今ならUTF-8で作るのが普通です。 charset指定はHTTPレスポンスヘッダーの指定が優先なので、HTTPレスポンスヘッダーに「ISO-2022-JP」と記述してあればそちらが優先になりますが、IE以外のWEBブラウザーでUTF-8と正常に認識するのなら、それも考えずらいです。 HTTPレスポンスヘッダーにcharsetの指定は多分されていないのでしょう。 とすると、HTML文ではなくIEの問題という気がします。 閲覧に使用しているIEのキャッシュをクリアして良いのならクリアしてみてください。 Shift+Ctrl+DELで「閲覧履歴の削除」メニューを開き、インターネット一時ファイルにチェックをして「削除」ボタンをクリックします。 下二つ、パスワードと追跡防止データ以外の、クッキー等も可能なら削除しておいた方が良いです。パスワードを削除するとIEが覚えているパスワードデータが消えるので気をつけてください。

1

そりゃあ、そうなるだろうね 元々インターネットのファイルがJISで作られて つい最近になってからUTF-8が出てきたんだから IEはJISで動作するように作ってあるのが当然 JISの時代から(UTF-8が存在しない時代から)IEがあるんだから IEはJISに合わせて表示するのでUTFが表示できないのは当然 だから何で、一部のブラウザでしか動かないUTFを使うのか?というのが疑問 最初からJISで作れば良いだけじゃん

1人がナイス!しています

ご回答ありがとうございます そりゃあそうですが、どうにもこうにも思うように出来ない事もありますよね〜 JISで作らないから対処方法を伺ったまでなので^^ JISで作れたら苦労しません^^

0

どういうHTMLになっているか、head要素内を転記してください。できればmeta要素だけなくHTMLの一行目からbody要素の開始まであるとベストです。 あと、サーバからのHTTPレスポンスヘッダのcontent-typeはtext/htmlだけですか?charset が付加されていませんか? #どういうサーバなのか書かれていないので、仕様がわかりません(汗 https://developer.mozilla.org/ja/docs/Web/HTML/Element/meta