Lorsque vous exécutez une requête sur une base de données MySQL, MySQL utilise un ensemble de variables système pour déterminer le jeu de caractères et le classement à utiliser chaque fois que les requêtes sont exécutées. Si le client utilise un jeu de caractères différent de celui du serveur, MySQL peut le traduire en un jeu de caractères et un classement appropriés.
Lors du renvoi des résultats de la requête au client, MySQL peut traduire ces résultats dans un jeu de caractères différent si nécessaire. MySQL utilise des variables système pour déterminer les jeux de caractères et les classements à utiliser à chacune de ces étapes.
Ce qui suit distingue le classement de connexion :
SELECT @@collation_connection;
Exemple de résultat :
+------------------------+ | @@collation_connection | +------------------------+ | utf8mb4_0900_ai_ci | +------------------------+
Utilisation de SHOW VARIABLES
Déclaration
Une autre façon de récupérer la collation_connection
variable système est d'utiliser le SHOW VARIABLES
pour renvoyer diverses variables système liées au classement. La façon la plus simple de le faire est d'utiliser le LIKE
clause pour la réduire aux seules variables commençant par collation
. Comme ceci :
SHOW VARIABLES LIKE 'collation%';
Cela renvoie le classement pour le serveur, la connexion et la base de données. Comme ceci :
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_0900_ai_ci | | collation_database | utf8_general_ci | | collation_server | utf8mb4_0900_ai_ci | +----------------------+--------------------+
Vous pouvez également renvoyer toutes les variables système du jeu de caractères avec la requête suivante :
SHOW VARIABLES LIKE 'character_set%';
Exemple de résultat :
+--------------------------+----------------------------------+ | 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/ | +--------------------------+----------------------------------+
Voir aussi :
- Comment trouver le classement dans MySQL
- Afficher le classement du serveur
- Afficher le classement d'une base de données
- Afficher le classement d'un tableau
- Afficher le classement d'une colonne
- Qu'est-ce que le classement ?