"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-06
Parcourir:630

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

Amélioration du formatage de la ligne de commande MySQL avec l'encodage 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 « définir les noms 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 la mise en forme du tableau :

 ----------------------------------- 
| name                              |
 ----------------------------------- 
| Kid Interiør                     | 
| Bwg Homes                         | 
| If Skadeförsäkring              | 
| Jangaard Export                   | 
| Nordisk Film                      | 
 ----------------------------------- 

Solution

Pour préserver formatage tabulaire lors de l'utilisation du codage de caractères UTF8, vous pouvez démarrer le client MySQL avec l'option "--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

Cela 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éfini 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 peuvent 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
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3