Maison > Article > base de données > Analyse et solution au problème chinois tronqué des données MySQL
Dans les applications de bases de données quotidiennes, nous rencontrons souvent le problème des caractères chinois MySQL tronqués. Ce problème semble généralement être dû au fait que le paramètre de jeu de caractères par défaut de la base de données MySQL est incorrect, ce qui entraîne l'impossibilité d'afficher correctement les caractères chinois lors de leur insertion ou de leur affichage. Analysons les causes des caractères chinois tronqués de MySQL et comment les résoudre.
1. Phénomène problématique
Les caractères chinois tronqués MySQL se manifestent généralement comme :
1 Lors de l'utilisation de la base de données MySQL, s'il y a des caractères chinois dans les données insérées, les caractères chinois seront tronqués.
2. Lorsque les données sont récupérées de la base de données, les caractères chinois peuvent également être tronqués.
Si la situation ci-dessus se produit, il est évident que le jeu de caractères de MySQL est mal défini.
2. Cause du problème
Le jeu de caractères chinois MySQL n'est pas défini correctement lors de la création de la table, ce qui entraîne des caractères tronqués pour l'insertion et la requête.
Ensuite, nous pouvons le configurer avec quelques méthodes simples.
3. Solution
1. Modifier le jeu de caractères par défaut de MySQL
La méthode pour modifier le jeu de caractères par défaut de MySQL est relativement simple :
1) Recherchez le fichier de configuration MySQL my.ini ou mon fichier.cnf
C :Program FilesMySQLMySQL Server 5.6my.ini
/etc/my.cnf
2) Modifiez tous les jeux de caractères du fichier de configuration en utf8 comme suit :
[client]
default-character-set =utf8
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
3) Redémarrez le service MySQL
2. Modifier le jeu de caractères de la base de données et de la table
Vous pouvez spécifier le jeu de caractères lors de la création de la base de données et de la table, ou vous pouvez le modifier via l'instruction alter après la création :
1) Spécifiez le jeu de caractères lors de la création la base de données
CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;
2) Spécifier le jeu de caractères lors de la création de la table
CREATE TABLE t1 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci
);
3) Modifier le jeu de caractères de la table
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Quatre.Résumé
Le problème tronqué du chinois MySQL est un problème relativement courant, mais il est en fait relativement facile de le résoudre après en avoir trouvé la cause. Tant que le jeu de caractères de MySQL est correctement défini, le problème des caractères chinois tronqués peut être évité. J'espère que cet article sera utile à tout le monde.
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!