Maison  >  Article  >  base de données  >  Comment résoudre les caractères tronqués lors de l'interaction avec Excel et MySQL

Comment résoudre les caractères tronqués lors de l'interaction avec Excel et MySQL

WBOY
WBOYavant
2023-06-03 12:04:591171parcourir

1. Raisons

1. Incohérence du jeu de caractères : le jeu de caractères par défaut d'Excel est GB2312, tandis que le jeu de caractères par défaut de MySQL est UTF-8 ou GBK, ce qui peut entraîner des données tronquées lors de la transmission.

2. Inadéquation des types de données : les champs de type VARCHAR et TEXT dans MySQL peuvent stocker différents jeux de caractères, tandis que les cellules dans Excel ne prennent en charge qu'un seul jeu de caractères. Si les cellules Excel contiennent des jeux de caractères différents, des caractères tronqués peuvent apparaître.

3. Encodage de fichier incohérent : lorsque vous utilisez Excel pour ouvrir ou enregistrer des fichiers au format CSV, un encodage incohérent peut se produire. Par exemple, si le codage ANSI est sélectionné lors de l'enregistrement d'un fichier CSV et que MySQL utilise le codage UTF-8, les données peuvent être tronquées lors de la transmission.

2. Solution

Afin d'éviter les caractères tronqués causés par des jeux de caractères incohérents lors de la connexion à MySQL, vous devez définir le jeu de caractères sur GB2312 pour que le jeu de caractères reste cohérent. Les paramètres suivants peuvent être ajoutés au connecteur MySQL/ODBC :

charset=GB2312

2. Correspondance du type de données : lors de la création d'une table de données MySQL, les champs de type VARCHAR et TEXT peuvent être spécifiés comme jeu de caractères GB2312. Par exemple :

CREATE TABLE test (
id INT NOT NULL,
name VARCHAR(30) CHARACTER SET GB2312 DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

Pour conserver l'encodage du fichier cohérent, le codage UTF-8 doit être sélectionné lors de l’enregistrement de fichiers CSV à l’aide d’Excel. Par exemple, vous pouvez enregistrer le fichier dans Excel en cliquant sur "Fichier" -> "Enregistrer sous" et en sélectionnant le format "CSV UTF-8 (délimité par des virgules)".

De plus, vous pouvez parfois également utiliser la commande SET NAMES pour définir le jeu de caractères dans MySQL. Par exemple :

SET NAMES 'GB2312'.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:MySQL a-t-il des tableaux ?Article suivant:MySQL a-t-il des tableaux ?