MySQL文字セット
キャラクターセットとは何ですか?
中国語、日本語、英語、ギリシャ語をより良く認識するために。一般的に使用される記号はエンコードされており、このエンコードが文字セットです。
文字セットはテキストの保存方法を決定します。
文字セットはコンピューターの人間の言語に相当します。
例:
私は英語を話すので、保存するときは英語のテキストを使用して保存する必要があります。
中国語で話している場合、それを英語の文字で保存します。そうなると、人々はそれを読むことも理解することもできなくなり、いわゆる意味不明なものになります。
文字セットが多すぎて、数十、数百もあるからです。したがって、文字セットについて、あるいは文字セットが人間に見える文字にコンパイルされる方法についてさえ、あまり知る必要はありません。
文字セットの重要な知識
次のことだけを知っておく必要があります:
- 一般的に使用される文字セット
- データベースで使用する文字セットは何ですか?
英語の文字セット:
文字セット | 説明 | バイト 長さ |
---|---|---|
ASCII | 米国標準情報交換コード | シングルバイト |
GBK | 漢字内部コード拡張仕様 | ダブルバイト |
ユニコード | ユニコード | 4ワード セクション |
UTF-8 | Unicodeの可変長文字エンコーディング | 1〜6バイト |
ASCII
ASCII コードは、7 ビットまたは 8 ビットの 2 進数の指定された組み合わせを使用して、128 または 256 個の可能な文字を表します。標準 ASCII コード (基本 ASCII コードとも呼ばれます) は、7 ビットの 2 進数を使用して、すべての大文字と小文字、0 ~ 9 の数字、句読点、およびアメリカ英語で使用される特殊な制御文字を表します。
そのうち:
0~31 と 127 (合計 33) は、制御文字または通信固有の文字 (残りは表示可能な文字) であり、制御文字: LF (改行)、CR (キャリッジ リターン)、FF (ページ送り)、DEL(削除)、BS(バックスペース)、BEL(リング)など、通信用の特殊文字:SOH(テキストの先頭)、EOT(テキストの終わり)、ACK(確認)など。値は 8、9、10、13 で、それぞれバックスペース、タブ、ラインフィード、キャリッジリターン文字に変換されます。特定のグラフィック表示はありませんが、アプリケーションに応じてテキスト表示に異なる効果をもたらします。
32~126(計95)は文字(32はスペース)、そのうち48~57は0~9までの10個のアラビア数字です。
数字65から90は26個の大文字の英字、97から122は26個の小文字の英字、残りは句読点や算術記号などです。
GBK
GBK は GB 2312 エンコードと下位互換性があります。これは、中華人民共和国によって定義された漢字のコンピュータ エンコード仕様です。以前のバージョンは GB2312 です。
Unicode
Unicode (Unicode、Universal Code、Unicode) Unicode は、国際機関によって開発された、世界中のすべてのテキストと記号に対応できる文字コード化スキームです。クロス言語およびクロスプラットフォームのテキスト変換および処理の要件を満たすため。
UTF-8
は、Unicodeの可変長文字エンコーディングであり、ユニバーサルコードでもあります。 UNICODE は ASCII の 2 倍のスペースを占有し、上位バイトの 0 は ASCII には役に立たないためです。この問題を解決するために、Universal Transformation Format、つまり UTF (Universal Transformation Format) と呼ばれるいくつかの中間形式の文字セットが登場しました
実際の作業で使用されるエンコーディング
中国語で一般的に使用される文字セットです。 utf-8とGBKに分かれています。
実際に使用されるものは次のとおりです:
文字セット | 説明書 |
---|---|
gbk_chinese_ci | 簡体字中国語、大文字と小文字を区別しない |
utf8_general_ci | Unicode (多言語)、大文字と小文字-insensitive |
(図 1) の特性を観察すると、MySQL 文字セットが 3 つの部分で構成されていることがわかります。
1. 文字セット
2. 言語タイプ
3. 最後のビンは、次の ci は、格納およびソート時に文字の大文字と小文字が区別されない性質を指します。
mysql が utf-8 を書き込むと、utf8 も書き込まれます。中央の水平線は追加しないでください。(写真1)