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

推薦する

TypeScript の Enum が問題となる理由

目次どうしたの?いつ使うか列挙の数を制御するビット値コントロールインデックス非数値列挙結論はType...

mysql 8.0.16 winx64.zip インストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...

opensslを使用して無料の証明書を生成する方法

1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...

Nginx ロードバランシングの設定方法

目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...

React で Antd の Form コンポーネントを使用してフォーム機能を実装する方法

1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...

相対幅と絶対幅が競合する場合の HTML+CSS div ソリューション

相対幅と絶対幅が競合する場合のdivソリューション概要: 一般的に、絶対幅を使用する場合は px を...

角度でechartsマップを使用する詳細な説明

目次echartの初期化アプリベースチャートコンポーネントhtml CS app-base-char...

Mac M1 での Nginx のマルチサイト構成の実装

注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...

MySQL ピボットテーブルについての簡単な説明

次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...

JavaScript ES6 モジュールの詳細な説明

目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

MySQL でコマンドを使用して階層検索を実現する方法の詳細な説明

序文この記事は主にMySQLコマンド階層検索ヘルプの使用に関する内容を紹介します。この記事のサンプル...

HTML の類似タグと属性の違いの詳細な説明

【1】<i></i>タグと<em></em>タグ同じ...

Nofollowタグの書き方と使い方

「nofollow」タグは数年前に Google、Yahoo、Microsoft によって提案されま...

LINUX でプロセスを表示する 4 つの方法 (要約)

プロセスは CPU とメモリ内で実行されるプログラム コードであり、各プロセスは 1 つ以上のプロセ...