Maison > base de données > tutoriel mysql > le corps du texte

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

DDD
Libérer: 2024-10-30 17:45:30
original
921 Les gens l'ont consulté

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                      | 
+-----------------------------------+
Copier après la connexion

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                      | 
+-----------------------------------+
Copier après la connexion

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
Copier après la connexion

Vous pouvez également le configurer comme paramètre par défaut dans le fichier "/etc/mysql/my.cnf" :

[mysql]
default-character-set=utf8
Copier après la connexion

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;
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!