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 オンライン エディターを作成する例

推薦する

MySQLデータベースの共通操作スキルのまとめ

この記事では、MySQL データベースの一般的な操作テクニックをまとめます。ご参考までに、詳細は以下...

MySQL 8.0.12 のインストールと設定のチュートリアル

この記事はMySQL 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...

htmlダウンロード機能の詳しい説明

新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...

ab ツールを使用してサーバー上で API ストレス テストを実行します。

目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...

Linux で実行可能ファイルを実行するときに「そのようなファイルまたはディレクトリはありません」というプロンプトが表示される場合の解決策

最近、Linux オペレーティング システムを使用して実行可能ファイルを実行していたところ、「そのよ...

MySQLシリーズ マルチテーブル結合クエリ92および99構文例詳細チュートリアル

目次1. デカルト積現象2. 接続クエリの知識ポイントのまとめ1) 結合クエリとは何ですか? 2) ...

Nodejs でモジュール fs ファイルシステムを使用する方法

目次概要ファイル記述子同期、非同期、Promise同期書き込み非同期書き込み(推奨)約束​​の書き方...

Cronジョブを使用してCpanelでPHPを定期的に実行する方法

cpanel 管理バックエンドを開き、「詳細」オプションの下に「Clock Guardian Job...

Vueのレスポンシブシステムの原理の詳細な説明

目次Vueのレスポンシブシステムの基本原則1. Object.definePropertyの使い方を...

jsはブラウザを閉じるときにアカウントのログアウトを処理します

目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...

mysql データ型変換の実装

1. 問題下図のような表があり、結果値がreference_high値より大きいデータを見つける必要...

Nginx サーバーの https 設定方法の例

Linux: Linux バージョン 3.10.0-123.9.3.el7.x86_64 ngin...

Ansible を使用した Nginx のバッチ デプロイのサンプル コード

1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...