Maison  >  Article  >  base de données  >  Comment conserver le formatage des tableaux dans MySQL avec le codage de caractères UTF8 ?

Comment conserver le formatage des tableaux dans MySQL avec le codage de caractères UTF8 ?

DDD
DDDoriginal
2024-10-30 17:45:30921parcourir

How to Preserve Table Formatting in MySQL with UTF8 Character Encoding?

Amélioration du formatage de la ligne de commande 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.

Énoncé du problème

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                      | 
+-----------------------------------+

Solution

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn