HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり良いようです。私も試してみました。editpエディタを使用しました。ドキュメント-ファイルエンコーディング-ファイルエンコーディングの変更-必要なエンコーディングを選択します。

Web ページでは、中国語の文字化けの問題が頻繁に発生します。以前、文字化けに遭遇したときは、成功するまでさまざまなエンコード方法を試し続けました。昨日、プロジェクトで再びこの問題が発生したので、簡単なテストを実行しました。

HTML ファイルには、「UTF-8」、「GBK」などのエンコード方式があります。これらはメモ帳では表示されないかもしれませんが、Eclipse では HTML ファイルのエンコード方法を設定できます。次の図で説明します。

テスト1:

html ファイルを「UTF-8」モードで保存します。具体的なファイルの内容については、下の図を参照してください。

図からわかるように、ファイルのエンコーディングは「UTF-8」で、下の赤枠の「その他」は Eclipse で設定されています。画像の上の赤いボックスは、ブラウザがファイルを開くために使用するエンコード方式を示しており、「UTF-8」と表示されます。

IE を使用してファイルを開くと、次の画像が表示されます。

ブラウザのエンコード方式を確認すると、ブラウザが自動的に「UTF-8」方式を選択し、文字化けが発生しないことがわかります。

ブラウザのエンコードを「GB2312」に切り替えると、次の画像が表示されます。

テスト2:

HTML ファイルを「UTF-8」モードで保存し、ファイル ヘッダーのエンコードを次のように「GBK」に設定します。

これは、ファイルのエンコーディングが「UTF-8」であり、デフォルトのファイルオープン方法が「GBK」であることを示します。

IE を使用してこのファイルを開いたスクリーンショットは次のとおりです。

HTML ファイルの指示に従って、ブラウザが「GB2312」モードで開いていることがわかります。ファイル自体は「UTF-8」でエンコードされているため、文字化けした文字が表示されます。しかし、Web ページのソース ファイルは文字化けしていません。

ブラウザのエンコード方式として「UTF-8」を選択すると、文字化けが消えることがわかります。スクリーンショットは次のとおりです。

これでテストは終了です。次の点を要約します。

1. HTML ファイルにはエンコード形式があり、特定のエディターでのみ表示および設定できます。

2. HTML ファイルのヘッダーの「content-type」に設定された「charset」は、ファイルを開くときに使用するエンコード方法をブラウザに伝えます。

3. 一般的に、ポイント 1 と 2 のエンコード方法は一貫している必要があります。一貫性がない場合、文字化けが発生する可能性があります。

4. ブラウザで文字化けした文字が表示されても、ページのソース ファイルは文字化けしていない場合は、ブラウザのエンコード方法を変更することで正しい中国語が表示されます。ソース ファイルに正しい「charset」が設定されている場合は、ブラウザのエンコード方法を変更する必要はありません。

<<:  Javascript 構造化代入の詳細

>>:  Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決する

推薦する

Vueはシンプルな計算機を実装する

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

Centos7.4 システムに yum ソースから mysql 5.6 をインストールする

システム環境: centos7.4 1. データベースがインストールされているかどうかを確認します。...

初心者のためのウェブサイト構築入門 - ウェブサイト構築に必要な条件とツール

今日は、初心者の次のような質問に答えます。学ぶ勇気さえあれば、自分のウェブサイトを構築するのは簡単で...

ボタンと入力タイプの違いと注意点

<button> タグ<br />定義と使用法<button> ...

Reactの基本のまとめ

目次序文始めるReactライフサイクルリアクトファイバーリアクトセットステートReactイベントメカ...

MySQL の current_timestamp の落とし穴とその解決策を共有する

目次MySQL の current_timestamp の落とし穴エラーを報告する私の解決策mysq...

JavaScript での実行コンテキストと実行スタックの例の説明

JavaScript - 原則シリーズ日常の開発では、既存のプロジェクトを引き継ぐときは常に、まず他...

タグ li はブロックレベル要素ですか?

なぜ高さを設定できるのでしょうか。<h1 /> などの要素とは異なり、「セミインライン」...

JavaScript Three.js でテキストを作成する最初の経験

目次効果テキストの作成を開始するまずフォントローダーを作成するフォントライブラリを読み込むテキストジ...

MySQL の無効な左結合の問題を解決する方法とその使用上の注意

MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...

MySQL における count(*)、count(1)、count(col) の違いのまとめ

序文count 関数は、テーブルまたは配列内のレコードをカウントするために使用されます。count(...

HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

まずはエフェクト画像を投稿します:全体的なスタイルとレイアウトが崩れないように、スクロール バーがロ...

DockerでMySQLマスタースレーブ環境を構築する方法の詳しい説明

序文この記事では、docker-compose と dockerfile を使用して、binlog ...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

Nginx の場所と proxy_pass パスの設定の問題の概要

目次1. Nginxロケーションの基本設定1.1 Nginx 設定ファイル1.2 Pythonスクリ...