Maison  >  Article  >  base de données  >  fichier mysql caractères tronqués

fichier mysql caractères tronqués

王林
王林original
2023-05-20 10:23:37692parcourir

Dans la base de données MySQL, on constate parfois que l'encodage du fichier est tronqué. Ce problème peut être causé par un certain nombre de facteurs, mais la plupart du temps, le problème peut être résolu avec quelques solutions simples. Cet article présentera quelques méthodes pour résoudre le problème des fichiers MySQL tronqués.

1. Vérifiez l'encodage du fichier

Avant de résoudre le problème des fichiers MySQL tronqués, nous devons d'abord déterminer le format d'encodage du fichier d'origine. Sous le système Linux, nous pouvons vérifier l'encodage du fichier via la commande file. Par exemple, si nous voulons vérifier le format d'encodage du fichier file.txt, nous pouvons utiliser la commande suivante :

file -i file.txt

Cette commande affichera ce qui suit. résultat :

file.txt: text/plain; charset=utf-8

Ce résultat nous indique que le format d'encodage du fichier file.txt est utf-8. Sous les systèmes Windows, nous pouvons visualiser le format d'encodage du fichier via des éditeurs tels que Notepad++.

2. Modifier l'encodage de la base de données MySQL

Dans MySQL, le format d'encodage de la base de données est défini via le jeu de caractères et les règles de classement. Si l'encodage de votre fichier ne correspond pas à celui de la base de données, le fichier sera tronqué. Nous pouvons modifier l'encodage de la base de données MySQL en suivant les étapes suivantes :

  1. Ouvrez le fichier de configuration MySQL my.cnf, qui peut être ouvert à l'aide de la commande suivante :
sudo vim /etc/mysql/my.cnf
  1. Ajoutez les deux lignes suivantes sous [mysqld] :
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
  1. Enregistrez et fermez le fichier my.cnf, et redémarrez le service MySQL :
sudo systemctl restart mysql

Après le redémarrage du service, l'encodage de la base de données MySQL est modifié en utf8mb4.

3. Modifiez l'encodage de la table de données MySQL

Si votre base de données MySQL a déjà créé et stocké des données, le problème de fichier tronqué peut être causé par une incompatibilité dans le format d'encodage de la table. Nous pouvons modifier l'encodage de la table de données MySQL via les méthodes suivantes :

  1. Connectez-vous à la base de données MySQL :
mysql -u root -p
  1. Sélectionnez la base de données :
use yourdatabase;
  1. Modifiez le format d'encodage de la table de données :
alter table yourtable convert to character set utf8mb4 collate utf8mb4_unicode_ci;

Vous devez remplacer votre base de données et votre table est le nom réel.

4. Modifiez l'encodage de la connexion client MySQL

Si votre base de données et votre table de données ont adopté le format d'encodage correct, mais que l'encodage de la connexion client MySQL que vous utilisez ne correspond pas, cela entraînera des fichiers tronqués. Nous pouvons modifier l'encodage de la connexion du client MySQL à travers les méthodes suivantes :

  1. Ouvrez le fichier de configuration du client MySQL my.cnf, qui peut être ouvert à l'aide de la commande suivante :
sudo vim /etc/mysql/my.cnf
  1. Ajoutez les deux lignes suivantes :
[client]
default-character-set=utf8mb4
  1. Enregistrez et fermez le fichier my.cnf.

4. Modifier le format d'encodage du fichier

Si les méthodes ci-dessus ne peuvent pas résoudre le problème des fichiers MySQL tronqués, nous devons alors envisager de modifier le format d'encodage du fichier lui-même. Sous les systèmes Linux, nous pouvons utiliser la commande iconv pour convertir. Par exemple, si nous voulons convertir un fichier file.txt encodé gb18030 en encodage utf-8, nous pouvons utiliser la commande suivante :

iconv -f gb18030 -t utf-8 file.txt -o file_utf8.txt

Cette commande convertira le fichier file.txt de l'encodage gb18030 en encodage utf-8 et en sortie. dans le fichier file_utf8.txt.

Résumé

Ci-dessus sont quelques méthodes pour résoudre le problème des fichiers MySQL tronqués. Lorsque vous effectuez les opérations ci-dessus, assurez-vous de sauvegarder vos données pour éviter toute perte de données irrécupérable.

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
Article précédent:Linux fermer MySQLArticle suivant:Linux fermer MySQL