Maison > base de données > tutoriel mysql > le corps du texte

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

WBOY
Libérer: 2023-06-03 12:04:59
avant
1181 Les gens l'ont consulté

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!

Étiquettes associées:
source:yisu.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!