MySQLデータベースに対してクエリを実行すると、MySQLは一連のシステム変数を使用して、クエリが実行されるたびに使用する文字セットと照合を決定します。クライアントがサーバーに対して異なる文字セットを使用している場合、MySQLはそれを適切な文字セットと照合に変換できます。
クエリ結果をクライアントに送り返すとき、MySQLは必要に応じてこれらの結果を別の文字セットに完全に変換して戻すことができます。 MySQLはシステム変数を使用して、これらの各ステップで使用する文字セットと照合を決定します。
以下は、接続の照合を選び出します:
SELECT @@collation_connection;
結果の例:
+------------------------+ | @@collation_connection | +------------------------+ | utf8mb4_0900_ai_ci | +------------------------+
SHOW VARIABLES
の使用 ステートメント
collation_connection
を取得する別の方法 システム変数は、SHOW VARIABLES
を使用することです さまざまな照合関連のシステム変数を返すステートメント。これを行う最も簡単な方法は、LIKE
を使用することです。 collation
で始まる変数のみに絞り込む句 。このように:
SHOW VARIABLES LIKE 'collation%';
これにより、サーバー、接続、およびデータベースの照合が返されます。このように:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_0900_ai_ci | | collation_database | utf8_general_ci | | collation_server | utf8mb4_0900_ai_ci | +----------------------+--------------------+>
次のクエリを使用して、すべての文字セットシステム変数を返すこともできます。
SHOW VARIABLES LIKE 'character_set%';
結果の例:
+--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+
参照:
- MySQLで照合を見つける方法
- サーバーの照合を表示する
- データベースの照合を表示する
- テーブルの照合を表示する
- 列の照合を表示する
- 照合とは何ですか?