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 手書きタブ切り替え問題

推薦する

Linuxサービスの監視と運用および保守

目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...

jsはキャンバスに基づいて時計コンポーネントを実装します

圧縮アップロード画像、スクラッチカード、ポスター作成、チャートプラグインなど、フロントエンド開発にお...

DockerコンテナにNFS共有ディレクトリをマウントする実装

以前、https://www.jb51.net/article/205922.htm で、Docke...

JavaScript プロトタイプオブジェクトの this ポイント問題の詳細な説明

目次1. これは2. この点を修正する1. call() メソッド2. apply() メソッド要約...

Win2008 R2 mysql 5.5 zip 形式 mysql のインストールと設定

Win2008 R2 zip形式のMySQLのインストールと設定1. Baidu MySQL 5.6...

js での Object.create インスタンスの使用法の詳細な説明

1. Object.create() メソッドを使用して新しいオブジェクトを作成し、既存のオブジェク...

Linux tac コマンドの実装例

1. コマンドの紹介tac (cat の逆順) コマンドは、ファイルの内容を行単位で逆順に出力します...

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

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

MySQLストレージエンジンについて学びましょう

目次序文1. MySQL メインストレージエンジン: 2. さまざまなストレージエンジンがテーブルを...

openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)

目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...

vue3+threejs を使用して iView 公式サイトのビッグウェーブ特殊効果の例を模倣する

目次序文1. レンダリング2. コード3. 背景画像素材要約する序文Threejs は、Web ベー...

デスクトップ仮想化を実現するために Hyper-V を展開する手順 (グラフィック チュートリアル)

Hyper-V を展開するためのハードウェア要件は次のとおりです。 64 ビット プロセッサ、具体...

MySQLクエリ条件のnot inとinの違いと理由

まずSQLを書く SELECT DISTINCT from_id タラから cod.from_id ...

Win10の明るさ調整効果を模倣するHTML+CSS+JSサンプルコード

HTML+CSS+JS で Win10 の明るさ調整効果を模倣コード <!doctypehtm...

ウェブページを作成するために最もよく使用されるHTMLタグ

1. よく使われるHTMLタグの最適化HTML は Web 編集者にとって基本的なスキルであるべきで...