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

推薦する

CSS で子 div の高さを親コンテナの残りのスペースに合わせる方法

1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...

モバイルレイアウト用の動的REMの実装

ダイナミックレム1. まず、現在の長さの単位を紹介しましょうpx em Mの幅 / 漢字の幅 1em...

MySql8.0.19 インストールピットレコードを共有する

前回の記事ではMySql8.0.19のインストール手順を紹介しました。必要な方はクリックしてご覧くだ...

標準的なHTMLの書き方は、Dreamweaverによって自動的に生成されるものとは異なります。

コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...

スクロールバーを非表示にしながらもスクロール効果を維持する純粋な CSS (モバイルと PC)

携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...

CSS のサイズ単位についての簡単な説明

ブラウザの互換性はどんどん良くなってきています。モバイル端末は基本的にすべてWebKitベースです。...

Alibaba CloudにMySQLをインストールする方法の詳細な説明

軽量のオープンソース データベースである MySQL は、エンタープライズ レベルのアプリケーション...

Vue+canvas は、ウォーターフォール チャートを上から下までリアルタイムに更新する効果を実現します (QT と同様)

早速ですが、デモ画像をご紹介します。実装されている機能は、左側に凡例、右側にウォーターフォール チャ...

Docker イメージのプルとタグ操作 pull | tag

Fabric プロジェクトのソースコードを読み直してみたところ、Docker の部分でよくわからな...

CSS で text-align と margin: 0 auto を使用して中央に配置する例コード

CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...

CSS3はグラフィックの落下アニメーション効果を実現します

まずは効果を確認実装コード <div class="box box1"&g...

ChromeはCookieの変更を監視し、値を割り当てます

次のコードは、Chrome による Cookie の変更の監視を導入しています。コードは次のとおりで...

CentOS で新しいユーザーを作成し、キーログインを有効にする方法

目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...

JavaScript コンストラクタとプロトタイプの関係

目次1. コンストラクタとプロトタイプ1. コンストラクター2. コンストラクタ問題3. コンストラ...