gbk utf8 GBK と UTF-8 ウェブページエンコーディングを正しく理解して使用する方法

gbk utf8 GBK と UTF-8 ウェブページエンコーディングを正しく理解して使用する方法
Web ページ エンコーディングは英語では web page encoding と翻訳され、Web ページ内の特定の文字エンコーディング形式を指定するライブラリです。
GBKは国家規格GB2312をベースに拡張された規格であり、GB2312と互換性があります。 GBK テキスト エンコーディングは 2 バイトで表されます。つまり、中国語と英語の両方の文字が 2 バイトで表されます。中国語を区別するために、最上位ビットは 1 に設定されます。 GBK はすべての中国語の文字を含む国家コードです。UTF8 ほど汎用性はありませんが、UTF8 が占めるデータベースは GBK よりも大きくなります。

UTF-8: Unicode TransformationFormat-8 ビット。BOM を許可しますが、通常は BOM を含みません。これは、国際文字を解決するために使用されるマルチバイト エンコーディングです。英語の場合は 8 ビット (つまり 1 バイト)、中国語の場合は 24 ビット (3 バイト) を使用します。 UTF-8 は世界中のあらゆる国で必要な文字を網羅しており、汎用性に優れた国際的なエンコーディングです。 UTF-8 でエンコードされたテキストは、UTF8 文字セットをサポートするさまざまな国のブラウザーで表示できます。 UTF8 エンコーディングであれば、外国人の英語版 IE でも中国語を表示でき、IE 用の中国語サポート パッケージをダウンロードする必要がありません。
UTF-8 バージョンは国際互換性に優れていますが、中国語バージョンでは GBK/BIG5 バージョンよりも 50% 多くのデータベース ストレージ領域が必要になります。したがって、UTF-8 バージョンは推奨されず、国際互換性に特別な要件があるユーザーのみを対象としています。簡単に言えば、中国語の文字が多い Web サイトの場合、データベースのスペースを節約するために GBK エンコーディングを使用するのが適切です。英語コンテンツが多い Web サイトの場合は、データベースのスペースを節約するために UTF-8 を使用するのが適切です。

GBK、GB2312 などを UTF8 に変換するにはどうすればいいですか? GBK、GB2312、UTF8 は、Unicode エンコードを介して相互に変換する必要があります: GBK、GB2312-Unicode-UTF8、UTF8-Unicode-GBK、GB2312。 Windows のメモ帳で「名前を付けて保存」を使用すると、GBK、Unicode、Unicode ビッグ エンディアン、UTF-8 エンコード方式間で変換できます。

ブラウザが Web ページのエンコーディングを正しく識別するようにするにはどうすればよいですか?通常、Web ページには <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> のような文があり、この Web ページの文字セット エンコーディングが GB2312 であることを示します。 (またはUTF-8)
ページでエンコードが指定されている場合に文字化けした文字が表示されるのはなぜですか?これは、ページで宣言されたエンコーディングがファイル自体のエンコーディングと一致していないことが原因である可能性があります。多くの場合、間違ったエンコーディングでページを開いて保存したり、CuteFTP などの FTP ソフトウェアを使用してオンラインでファイルを直接変更したりすることで発生します。この場合、ソフトウェアのエンコーディング構成が間違っているために間違ったエンコーディングに変換されます。このとき、Windows のメモ帳を使用して開き、「名前を付けて保存」を使用して対応するエンコードで保存すると、問題が解決します。

Windows オペレーティング システムで IE をブラウザーとして使用すると、UTF-8 エンコードを使用する Web ページを参照するときに、Web ページでエンコード形式が宣言されている場合でも、ブラウザーはページで使用されているエンコードを自動的に識別できないという問題がよく発生します: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />。その結果、中国語の UTF-8 エンコードを含む一部のページでは、空白の出力が生成されます。 Firefox または Sarafi ブラウザを使用している場合、この問題は発生しません。これは、IE が Web ページのコードを解析するときに HTML タグを優先し、次に HTTP ヘッダー内の情報を優先するのに対し、Mozilla シリーズのブラウザではその逆であるためです。

UTF-8 では中国語の文字を表すのに 3 バイトを使用するのに対し、通常の GB2312 または BIG5 では 2 バイトを使用するためです。ページを出力する際、上記のような理由により、ブラウザが<title></title>の内容を解析して出力する際に​​、</title>の前にある全角文字が奇数個あると、IEはUTF-8を2バイトとして解析し、半角漢字が表示されます。このとき、半角漢字は</title>の<と結合して文字化けした単語になり、IEは<title>部分を読み取ることができず、ページ全体が空の出力になります。このとき、ソースファイルを確認すると、実際にはページ全体が出力されているのに、ブラウザに内容が表示されていないことがわかります。最も簡単な解決策は、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> を <title></title> の前に置くことです。

<<:  モバイルアダプティブスタイルで@mediaを使用する方法

>>:  React 手書きタブ切り替え問題

推薦する

ReactでCSSをエレガントに書く方法

目次1. インラインスタイル2. インポート方法を使用する3.cssモジュールのエクスポート4. ス...

WHMCS V7.4.2 グラフィカル インストール チュートリアル

1. はじめにWHMCS は、ユーザー管理、請求書の支払い、ヘルプ サービスなど、オンライン ビジネ...

CentOS 8 に Docker をインストールする詳細なチュートリアル

1. 以前のバージョン yum 削除 docker docker-client docker-cli...

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

MySQL双方向バックアップの実装方法

MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...

Ubuntu 16.04にJenkinsをインストールするための詳細な手順

1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...

Linux で測位バックグラウンド サービスが時々クラッシュする問題の解決方法

問題の説明最近のバックグラウンドサービスでは、特定の命令の要求データをディスクに保存する新しい機能が...

Vueはキャンバスを使用して画像圧縮アップロードを実現します

この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...

Linux システムでのルート ディレクトリ拡張の概要

1. Linuxディスクの状態を確認する df -lh lsblkコマンドは、使用可能なすべてのブロ...

マージントップ崩壊現象とその具体的解決策

マージントップの崩壊とはmargin-top の崩壊は、CSS ボックス モデルで発生する現象です。...

Vue での ElementUI の使用に関する詳細な説明

ログイン + セッションストレージエフェクト表示ログインに成功すると、ユーザー ID がフロントエン...

MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

MySQL マスター スレーブ レプリケーションを使用する利点は次のとおりです。 1. 安定性を向上...

シンプルなカレンダー効果を実現する JavaScript コード

この記事では、シンプルなカレンダー効果を実現するためのJavaScriptの具体的なコードを参考まで...

ウェブデザインでは、まずウェブサイトの包括的なイメージの位置付けが必要です。

⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...