Les utilisateurs de MySQL rencontrent souvent des problèmes de formatage lors de l'interrogation de données contenant des caractères non anglais, tels que des chaînes suédoises ou norvégiennes. Par défaut, l'utilisation de la ligne de commande MySQL avec le jeu de caractères défini sur latin1 garantit un formatage correct, mais passer à utf8 pour afficher correctement les caractères spéciaux peut perturber le formatage.
Pour conserver le formatage tabulaire pendant affichant les caractères UTF-8, exécutez la commande suivante :
mysql --default-character-set=utf8
Vous pouvez également modifier le fichier /etc/mysql/my.cnf et ajouter :
[mysql] default-character-set=utf8
Les solutions ci-dessus configurent les variables de configuration Character_set_client, Character_set_connection et Character_set_results sur utf8. Ces paramètres dictent les jeux de caractères utilisés par le client, la connexion à la base de données et les résultats renvoyés.
La variable Character_set_database représente le jeu de caractères attribué au schéma ou à la base de données actuel. Le jeu de caractères du schéma est hérité de Character_set_server, sauf indication contraire explicite lors de la création.
De plus, les tables et colonnes individuelles peuvent avoir des jeux de caractères personnalisés indépendants de leur table ou schéma parent. Pour des informations détaillées sur la vérification de ces jeux de caractères, reportez-vous aux ressources fournies.
Malgré la définition de tous les jeux de caractères sur utf8, certains caractères peuvent toujours apparaître déformés. Cela pourrait se produire si des caractères Unicode étaient saisis via un client utilisant la connexion latin1 (par exemple, mysql --default-character-set=latin1). Pour résoudre ce problème, connectez-vous à la base de données en utilisant le même jeu de caractères que les données d'entrée.
L'encodage utf8 de MySQL est une implémentation incomplète de UTF-8. Pour une implémentation UTF-8 entièrement conforme, pensez à utiliser le jeu de caractères utf8mb4 :
mysql --default-character-set=utf8mb4
Pour une exploration plus approfondie, consultez les ressources fournies sur la différence entre utf8 et utf8mb4.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!