MySQLデータベースを作成し、中国語の文字をサポートする方法

MySQLデータベースを作成し、中国語の文字をサポートする方法

まずMySQLの公式ドキュメントを見てみましょう: 5.7

{データベース | スキーマ} を作成 [存在しない場合] db_name
 [作成オプション] ...

作成オプション: [デフォルト] {
 文字セット [=] 文字セット名
 | COLLATE [=] 照合名
}

MySQL サーバーの変数を見ると、MySQL がデータベースを作成するときにデフォルトで有効になる文字セットはlatinl であることがわかります。

ここに画像の説明を挿入

ここで、作成されたデータベース db2 に中国語をサポートする文字セットutf8を指定する必要があります。以下はコンテンツの行です。

存在しない場合はデータベースdb2を作成db2 
デフォルトの文字セット utf8 
utf_general_ci を照合します。

以上で、中国語データの挿入をサポートするデータベースの作成が完了しました。では、質問について考えてみましょう。中国語をサポートする唯一の文字セットは utf8 です。他には何がありますか?それらの違いは何ですか?
まず、MySQL 5.7.x でサポートされている文字セットと文字ルールを見てみましょう。

mysql> バージョンを選択します();
+-----------+
| バージョン() |
+-----------+
| 5.7.32 |
+-----------+
セット内の 1 行 (0.00 秒)

mysql> 文字セットを表示します。
+----------+--------------------------------------+----------------------+--------+
| 文字セット | 説明 | デフォルトの照合順序 | Maxlen |
+----------+--------------------------------------+----------------------+--------+
| big5 | Big5 繁体字中国語 | big5_chinese_ci | 2 |
| dec8 | DEC 西ヨーロッパ | dec8_swedish_ci | 1 |
| cp850 | DOS 西ヨーロッパ | cp850_general_ci | 1 |
| hp8 | HP 西ヨーロッパ | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom ロシア語 | koi8r_general_ci | 1 |
| latin1 | cp1252 西ヨーロッパ語 | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 中央ヨーロッパ | latin2_general_ci | 1 |
| swe7 | 7 ビット スウェーデン語 | swe7_swedish_ci | 1 |
| ascii | US ASCII | ascii_general_ci | 1 |
| ujis | EUC-JP 日本語 | ujis_japanese_ci | 3 |
| sjis | Shift-JIS 日本語 | sjis_japanese_ci | 2 |
| ヘブライ語 | ISO 8859-8 ヘブライ語 | hebrew_general_ci | 1 |
| tis620 | TIS620 タイ語 | tis620_thai_ci | 1 |
| euckr | EUC-KR 韓国語 | euckr_korean_ci | 2 |
| koi8u | KOI8-U ウクライナ語 | koi8u_general_ci | 1 |
| gb2312 | GB2312 簡体字中国語 | gb2312_chinese_ci | 2 |
| ギリシャ語 | ISO 8859-7 ギリシャ語 | greek_general_ci | 1 |
| cp1250 | Windows 中央ヨーロッパ | cp1250_general_ci | 1 |
| gbk | GBK 簡体字中国語 | gbk_chinese_ci | 2 |
| latin5 | ISO 8859-9 トルコ語 | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 アルメニア語 | armcii8_general_ci | 1 |
| utf8 | UTF-8 ユニコード | utf8_general_ci | 3 |
| ucs2 | UCS-2 ユニコード | ucs2_general_ci | 2 |
| cp866 | DOS ロシア語 | cp866_general_ci | 1 |
| keybcs2 | DOS カメニツキ チェコ語-スロバキア語 | keybcs2_general_ci | 1 |
| macce | Mac 中央ヨーロッパ | macce_general_ci | 1 |
| macroman | Mac 西ヨーロッパ | macroman_general_ci | 1 |
| cp852 | DOS 中央ヨーロッパ | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 バルト語 | latin7_general_ci | 1 |
| utf8mb4 | UTF-8 ユニコード | utf8mb4_general_ci | 4 |
| cp1251 | Windows キリル文字 | cp1251_general_ci | 1 |
| utf16 | UTF-16 ユニコード | utf16_general_ci | 4 |
| utf16le | UTF-16LE ユニコード | utf16le_general_ci | 4 |
| cp1256 | Windows アラビア語 | cp1256_general_ci | 1 |
| cp1257 | Windows バルト語 | cp1257_general_ci | 1 |
| utf32 | UTF-32 ユニコード | utf32_general_ci | 4 |
| バイナリ | バイナリ疑似文字セット | バイナリ | 1 |
| geostd8 | GEOSTD8 グルジア語 | geostd8_general_ci | 1 |
| cp932 | Windows 日本語用 SJIS | cp932_japanese_ci | 2 |
| eucjpms | Windows 日本語用 UJIS | eucjpms_japanese_ci | 3 |
| gb18030 | 中国国家規格 GB18030 | gb18030_chinese_ci | 4 |
+----------+--------------------------------------+----------------------+--------+
セット内の行数は 41 です (0.00 秒)

gb2312、gbk、gb18030、utf8、utf8mb4 の 4 つの文字セットはすべて中国語をサポートしています。
gb2312、gbk、gb18030 の紹介については、この Zhihu の記事を参照してください: 3 つの紹介 utf8 と utf8mb4 の紹介については、この記事を参照してください: utf8 と utf8mb4 の違い

MySQL でデータベースを作成し、中国語の文字をサポートする方法についての記事はこれで終わりです。MySQL の中国語の文字サポートの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL 匿名ログインでデータベースを作成できない問題の解決方法
  • MySql への新しいユーザーの追加、ユーザー用のデータベースの作成、ユーザーへの権限の割り当ての概要
  • mysql データベースの作成、ユーザーの追加、ユーザー認証の実用的な方法
  • MySQLデータベースを作成する2つの方法
  • MySQLでデータベースとデータベーステーブルコードを作成する
  • PHPを使用してデータベースを作成する例
  • データベース PHP コードを作成し、PHP で独自の BLOG システムを作成します。
  • PHPデスクトップセンター (I) データベースの作成
  • MySQL と PHP の基礎と応用トピック: データベース テーブルの作成

<<:  JavaScript 以外の静的リソースのバンドルの詳細

>>:  Docker ロード後にイメージ名が none になる問題の解決方法

推薦する

乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...

Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除

1: Dockerプライベートウェアハウスのインストール1. イメージリポジトリからイメージをダウン...

VUEはタイムライン再生コンポーネントを実装します

この記事の例では、タイムライン再生コンポーネントを実装するためのVUEの具体的なコードを参考までに共...

Dockerコンテナが外部ネットワークにpingできない問題を解決する

今日、docker で redis 環境を構築していたところ、yum がリソースを取得できず、インタ...

vue+springbootでログイン機能を実現

この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...

Reactイベントバインディングの詳細な説明

1. 何ですかreactアプリケーションでは、イベント名はキャメルケース形式で記述されます。たとえ...

Docker で Let's Encrypt から永久無料 SSL 証明書を取得する方法

1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...

jQuery は拡張アニメーションによるナビゲーション バー効果を実装します

展開アニメーション効果のあるナビゲーションバーを設計してカスタマイズし、デモを作成してみました。設計...

HTML ウェブページでのアンカー(名前付きアンカー)の使用の概要

以下の情報はインターネットから収集したものです1. アンカーは、Web ページ作成におけるハイパーリ...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

MySQLデータベースについて学びましょう

目次1. データベースとは何ですか? 2. データベースの分類は? 3. データベースとデータ構造の...

Docker のホスト間コンテナ通信オーバーレイ実装プロセスの詳細な説明

サーバーも 2 つあります。準備:コンテナのホスト名を設定する consul: kv タイプのストレ...

Javascript の基礎: 演算子とフロー制御の詳細な説明

目次1. オペレーター1.1 算術演算子1.2 インクリメント演算子とデクリメント演算子1.3 比較...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

MySQLで重複行を削除する方法

SQL文 /* MySQL で重複行を削除するいくつかの方法 ---Chu Minfei ---20...