MySQL UTF8MB4 で絵文字を保存する際のエラー
絵文字を含むユーザー名を MySQL データベースに保存しようとすると、ユーザーは次のようなエラーが発生する可能性があります。不適切な文字セットと照合順序
背景
絵文字をサポートするには、MySQL では utf8mb4 文字セットと unicode_ci 照合順序が必要です。これにより、絵文字などのマルチバイト文字が正しく処理されるようになります。
トラブルシューティング
データベース構成
確認データベース、テーブル、列が utf8mb4 文字セットとunicode_ci 照合順序。データベース作成スクリプト、テーブル作成スクリプト、および列定義の設定を確認してください。
クライアント側の構成
データベースへのクライアント接続も次のように構成する必要があります。 utf8mb4 文字セットを使用します。これは、SET NAMES ステートメントを使用するか、MySQL 構成ファイル (my.cnf) でcharacter_set_client を utf8mb4 に設定することによって実行できます。
特定のデータベース変数
場合によっては、特定のデータベース変数が正しく設定されていない可能性があります。 root としてログインし、SHOW VARIABLES コマンドを使用して、character_set_client、character_set_connection、およびcharacter_set_results の値を確認します。必要に応じて設定を調整し、すべて utf8mb4 に設定されていることを確認します。
my.cnf ファイル
my.cnf 構成ファイルをチェックして、次の設定になっていることを確認します。正しく設定されています:
SET NAMES ステートメント
実行中セット名 utf8mb4データを挿入または更新する前にステートメントを使用すると、現在のセッションの文字セットと照合順序を明示的に設定できます。これにより、データベースで絵文字の処理に必要な文字セットと照合順序が使用されるようになります。
その他の考慮事項
以上がUTF8MB4 を使用して MySQL データベースに絵文字を正常に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。