Maison > base de données > tutoriel mysql > Caractères tronqués dans MySQL

Caractères tronqués dans MySQL

王林
Libérer: 2023-05-13 18:07:08
original
574 Les gens l'ont consulté

En fait, il est relativement courant que des caractères tronqués apparaissent dans MySQL, ce qui est particulièrement important lors du traitement de textes chinois, japonais, coréens et autres. La résolution de ce type de problème nécessite certaines compétences et expériences. Certaines méthodes courantes seront présentées ci-dessous.

  1. Définissez le jeu de caractères

Dans MySQL, le jeu de caractères est très important. Si le jeu de caractères est mal défini, des caractères tronqués apparaîtront facilement. Par conséquent, lorsque vous utilisez la base de données MySQL, vous devez faire attention à la définition du jeu de caractères.

Tout d'abord, nous devons confirmer quels jeux de caractères sont pris en charge par la base de données MySQL. Nous pouvons exécuter la commande suivante pour afficher le jeu de caractères pris en charge par la base de données MySQL actuelle :

show character set;
Copier après la connexion

Ensuite, nous devons confirmer quel est le jeu de caractères de la base de données. Nous pouvons exécuter la commande suivante pour vérifier :

show create database 数据库名;
Copier après la connexion

Si le jeu de caractères n'est pas UTF-8, vous pouvez exécuter la commande suivante pour modifier le jeu de caractères de la base de données en UTF-8 :

alter database 数据库名 character set utf8;
Copier après la connexion

Le jeu de caractères doit également être vérifié et modifié pour chaque table :

alter table 表名 convert to character set utf8;
Copier après la connexion
  1. Spécifiez le jeu de caractères lors de l'importation des données

Si les données que nous importons sont codées en UTF-8 et que le jeu de caractères de la base de données MySQL elle-même n'est pas UTF-8, les caractères tronqués seront facilement apparaissent lors de l’importation de données. Pour éviter cela, nous devons spécifier le jeu de caractères comme UTF-8 lors de l'importation de données. Vous pouvez utiliser la commande suivante pour importer :

mysql -h 主机名 -u 用户名 -p 密码 数据库名 < 文件名 --default-character-set=utf8
Copier après la connexion
  1. Modifier le jeu de caractères du client MySQL

Garder le jeu de caractères du client MySQL cohérent avec le jeu de caractères de la base de données peut également éviter l'apparition de caractères tronqués. Vous pouvez entrer la ligne de commande et exécuter la commande suivante :

set names utf8;
Copier après la connexion

Ou lors de la connexion au serveur MySQL, préciser le jeu de caractères :

mysql -h 主机名 -u 用户名 -p 密码 --default-character-set=utf8 数据库名
Copier après la connexion
  1. Modifier le fichier de configuration my.cnf

Sur le serveur MySQL, il faut vérifiez si le fichier de configuration my.cnf est correct. Le jeu de caractères est défini. Ce fichier de configuration contient de nombreux paramètres par défaut, tels que le jeu de caractères par défaut, etc. Si le fichier my.cnf ne définit pas le jeu de caractères correct, vous devez modifier ce fichier manuellement.

Vous devez d'abord trouver l'emplacement du fichier my.cnf, entrez la commande suivante dans la ligne de commande :

locate my.cnf
Copier après la connexion

Recherchez ensuite le fichier my.cnf correspondant, ouvrez le fichier my.cnf à l'aide de n'importe quel éditeur de texte et ajoutez le contenu suivant :

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8
skip-character-set-client-handshake
Copier après la connexion

5. Modifiez les champs de la table

Si aucune des méthodes ci-dessus ne peut résoudre le problème tronqué, cela signifie que les données tronquées ne peuvent pas être récupérées dans la base de données MySQL, alors vous devez envisager de modifier le jeu de caractères de les champs du tableau. Vous pouvez utiliser l'instruction SQL suivante :

ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
Copier après la connexion

L'instruction SQL ci-dessus modifie une certaine colonne de type de caractère du nom de la table en jeu de caractères utf8 et définit le classement associé sur utf8_general_ci.

En général, il existe de nombreuses façons de rencontrer des caractères tronqués dans MySQL. Vous pouvez définir le jeu de caractères, spécifier le jeu de caractères lors de l'importation de données, modifier le jeu de caractères du client MySQL, modifier le fichier de configuration my.cnf et modifier la table. . Commencez par les champs et les autres aspects. J'espère que les méthodes ci-dessus pourront vous aider à résoudre le problème tronqué dans MySQL.

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