MySQL データベースのエンコーディングを utf8mb4 に変更する方法

MySQL データベースのエンコーディングを utf8mb4 に変更する方法

utf8mb4 エンコーディングは utf8 エンコーディングのスーパーセットであり、utf8 と互換性があり、4 バイトの絵文字を保存できます。

utf8mb4 エンコーディングを使用する利点は、データの保存と取得時に絵文字のエンコーディングとデコーディングを考慮する必要がなくなることです。

データベースのエンコーディングを utf8mb4 に変更します。

1. MySQLのバージョン

utf8mb4 をサポートする MySQL の最小バージョンは 5.5.3 以上です。そうでない場合は、新しいバージョンにアップグレードしてください。

2. MySQL ドライバー

5.1.34 が利用可能で、最小値は 5.1.13 未満にすることはできません。

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collat​​ion%'; 

3. MySQL設定ファイルを変更する

MySQL設定ファイルmy.cnfを変更する

my.cnf は通常、etc/mysql/my.cnf にあります。見つかったら、次の 3 つの部分に次のコンテンツを追加してください。

[クライアント] 
デフォルトの文字セット = utf8mb4 
[mysql] 
デフォルトの文字セット = utf8mb4

目的地をメモする

[mysqld] 
文字セットクライアントハンドシェイク = FALSE 
文字セットサーバー = utf8mb4 
照合サーバー = utf8mb4_unicode_ci 
init_connect = '名前をutf8mb4に設定'

4. データベースを再起動して変数を確認する

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collat​​ion%';

collat​​ion_connection、collat​​ion_database、collat​​ion_server が何であるかは関係ありません。

しかし、それは保証されなければならない

システム変数の説明
character_set_client (クライアント ソース データで使用される文字セット)
character_set_connection (接続レベルの文字セット)
character_set_database (現在選択されているデータベースのデフォルトの文字セット)
character_set_results (クエリ結果の文字セット)
character_set_server (内部操作のデフォルトの文字セット)

これらの変数は utf8mb4 である必要があります。

5. データベース接続構成

データベース接続パラメータ:

characterEncoding=utf8 は自動的に utf8mb4 として認識されます。このパラメータを省略して自動検出することもできます。
また、autoReconnect=true は必須です。

6. データベースと作成したテーブルをutf8mb4に変換する
データベースのエンコーディングを変更します: ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

テーブルのエンコーディングを変更します: ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci;
必要に応じて、列のエンコードを変更することもできます。

要約する

以上が、MySQL データベースのエンコーディングを utf8mb4 に変更する方法についてご紹介しました。お役に立てれば幸いです。

以下もご興味があるかもしれません:
  • Linux システムで MySQL の文字セットを UTF8 に変更する手順
  • MySQL での utf8mb4 照合の例
  • MySQL エンコーディング utf8 および utf8mb4 utf8mb4_unicode_ci および utf8mb4_general_ci
  • mysql charset=utf8 本当に意味が分かりますか
  • MySQL の文字セット utf8 を utf8mb4 に変更する方法
  • mysql 文字化けした文字 latin1 文字を UTF8 に変換 詳細

<<:  Linux CentOS 7.7 システムの VMware インストールに関する詳細なチュートリアル

>>:  js を使用して XML オンライン エディターを作成する例

推薦する

jQuery を使用して、iframe 下の無効なページ アンカー ポイントの問題を修正する

適用シナリオ: iframe ページにスクロール バーがなく、親ウィンドウにスクロール バーが表示さ...

CentOS6.8 は cmake を使用して MySQL5.7.18 をインストールします。

オンライン情報を参考に、cmakeを使用してCentOS6.8サーバーにMySQL5.7.18をイン...

Vue は、デスクトップから Web ページにファイルをドラッグするためのサンプル コードを実装します (画像/オーディオ/ビデオを表示できます)

効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...

Vueナンバープレート入力コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

MySQL 5.6 ルートパスワード変更チュートリアル

1. MySQL 5.6をインストールした後、正常に有効化できないMySQL の圧縮バージョンは、解...

JavaScript のクロージャによって発生する問題を回避する

閉鎖による問題を回避するためのletについてオブジェクト指向の考え方を使用して、購入者情報の削除機能...

CSS で実装された円形のプログレスバー

成果を達成する 実装コードhtml <div class="wrap"&g...

Ubuntu 16.04 64 ビット版の VMware Tools のインストールと構成のグラフィック チュートリアル

この記事では、VMware Toolsのインストールと構成に関するグラフィックチュートリアルを参考と...

ローカルのMySQLをサーバーデータベースに移行する方法

Linux の scp コマンド (Windows では scp は使用できません) と、mysql...

Vue のスロットスコープの詳細な理解(初心者向け)

Baidu には slot-scope に関する記事が既にたくさんありますが、以前よく学習しておら...

Linux環境にRedisをデプロイし、Dockerにインストールする方法

インストール手順1. Redisをインストールするdocker search redis和docke...

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だ...

Vue のグローバル ウォーターマーク実装例

目次1. 透かしのJsファイルを作成する2. 導入操作2.1 App.vueや他のページでの参照2....

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

面接官がmysqlのcharとvarcharの違いを尋ねたとき

目次charとvarcharの違いcharとvarcharの違い上記は、MySQL における cha...