Maison  >  Article  >  base de données  >  Analyse et solution au problème chinois tronqué des données MySQL

Analyse et solution au problème chinois tronqué des données MySQL

PHPz
PHPzoriginal
2023-04-17 16:39:193438parcourir

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

Windows.

C :Program FilesMySQLMySQL Server 5.6my.ini

Linux

/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!

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