Maison >base de données >tutoriel mysql >Comment résoudre les erreurs « Valeur de chaîne incorrecte » de MySQL ?

Comment résoudre les erreurs « Valeur de chaîne incorrecte » de MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 22:34:14845parcourir

How to Solve MySQL's

Surmonter les erreurs « Valeur de chaîne incorrecte » dans MySQL

Lorsque vous traitez des applications qui gèrent divers formats de texte, l'erreur « Valeur de chaîne incorrecte » peut être rencontrée en raison d'un problème codage des caractères. Malgré la définition du jeu de caractères et du classement appropriés pour les colonnes de texte, certains e-mails de l'application peuvent toujours déclencher cette erreur. Cet article vise à traiter les causes et à fournir des solutions efficaces pour surmonter de telles erreurs.

Causes de l'erreur

L'erreur « Valeur de chaîne incorrecte » se produit généralement lorsque le caractère le codage des données stockées ne correspond pas au codage spécifié pour la colonne. Cela peut se produire lorsque :

  • Le codage des caractères des données entrantes est incohérent avec le codage attendu de la base de données.
  • La transmission entre l'application et la base de données utilise un codage différent des paramètres de la base de données.

Étapes pour réparer le Problème

Pour résoudre l'erreur efficacement, suivez ces étapes :

1. Vérifiez l'encodage des caractères :

  • Assurez-vous que la source de données (par exemple, les fichiers) est véritablement encodée en utf8.
  • Vérifiez les paramètres de connexion à la base de données à l'aide des commandes suivantes après la connexion :
SET NAMES 'utf8mb4';
SET CHARACTER SET utf8mb4;

2. Vérifiez les classements des tables et des colonnes :

  • Vérifiez que les tables stockant les données ont le jeu de caractères utf8mb4 en exécutant :
SELECT
  `tables`.`TABLE_NAME`,
  `collations`.`character_set_name`
FROM
  `information_schema`.`TABLES` AS `tables`,
  `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations`
WHERE
  `tables`.`table_schema` = DATABASE()
  AND `collations`.`collation_name` = `tables`.`table_collation`
;

3. Vérifier les paramètres de la base de données :

  • Exécutez les commandes suivantes pour vérifier les paramètres de la base de données liés au classement et au jeu de caractères :
mysql> show variables like '%colla%';
mysql> show variables like '%charac%';

Effets d'un correctif

En implémentant ces correctifs, l'application utilisera systématiquement le jeu de caractères utf8mb4, garantissant une gestion correcte du texte données. Cela éliminera les erreurs « Valeur de chaîne incorrecte » et permettra un stockage, un traitement et une récupération appropriés des e-mails, quelle que soit leur composition en caractères.

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