Maison > Article > base de données > Comment conserver le formatage des tableaux dans MySQL avec le codage de caractères UTF8 ?
Lorsque vous travaillez avec des chaînes suédoises et norvégiennes stockées dans une table de base de données, vous pouvez rencontrer des problèmes de formatage de table lors de l'interrogation de données en utilisant différents jeux de caractères.
Par défaut, en utilisant "set names latin1;" produit une sortie déformée :
+-----------------------------------+ | name | +-----------------------------------+ | Kid Interi##### | | Bwg Homes | | If Skadef####kring | | Jangaard Export | | Nordisk Film | +-----------------------------------+
Passer à « définir les noms utf8 ; » affiche correctement les caractères, mais perturbe le formatage tabulaire :
+-----------------------------------+ | name | +-----------------------------------+ | Kid Interiør | | Bwg Homes | | If Skadeförsäkring | | Jangaard Export | | Nordisk Film | +-----------------------------------+
Pour conserver le formatage tabulaire lors de l'utilisation de l'encodage de caractères UTF8, vous pouvez démarrer le client MySQL avec le "--default- Character-set=utf8" :
mysql --default-character-set=utf8
Vous pouvez également le configurer comme paramètre par défaut dans le fichier "/etc/mysql/my.cnf" :
[mysql] default-character-set=utf8
Ceci définit les variables de configuration Character_set_client, Character_set_connection et Character_set_results sur utf8.
Si le problème de formatage persiste, assurez-vous que la base de données, les tables et les colonnes sont également définies sur utf8 à l'aide des commandes suivantes :
SHOW VARIABLES LIKE '%CHAR%'; SET character-set-server = utf8;
De plus, vérifiez les caractères Unicode qui pourraient avoir été écrits avec une connexion latin1. Pour résoudre ce problème, connectez-vous à la base de données avec le même jeu de caractères que celui dans lequel les valeurs ont été écrites, ou récupérez-les et réécrivez-les en utilisant le codage correct.
Remarque : Le codage utf8 de MySQL n'est pas un Unicode complet. mise en œuvre. Pensez à utiliser le jeu de caractères utf8mb4 pour une véritable implémentation UTF-8 :
mysql --default-character-set=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!