Maison > base de données > tutoriel mysql > Comment corriger les erreurs « Valeur de chaîne incorrecte » dans MySQL lors de la réception d'e-mails non latins ?

Comment corriger les erreurs « Valeur de chaîne incorrecte » dans MySQL lors de la réception d'e-mails non latins ?

Barbara Streisand
Libérer: 2024-12-17 20:32:10
original
938 Les gens l'ont consulté

How to Fix

Résolution des erreurs de « valeur de chaîne incorrecte »

L'apparition d'erreurs de « valeur de chaîne incorrecte » lors de la réception d'e-mails non latins indique un problème sous-jacent avec encodage de caractères. Voici une approche systématique pour résoudre ce problème :

Identifier la cause

Les erreurs suggèrent que la colonne MEDIUMTEXT « contenu » n'est pas correctement encodée. Bien qu'il soit configuré pour utiliser UTF-8, certains e-mails contiennent toujours des caractères qui ne sont pas conformes au codage UTF-8.

Résoudre le problème

  • Vérifiez la source de données : Assurez-vous que les e-mails importés sont véritablement UTF-8 encodé.
  • Configurez la connexion à la base de données : Définissez le jeu de caractères et le classement sur UTF-8 :

    SET NAMES 'utf8mb4';
    SET CHARACTER SET utf8mb4;
    Copier après la connexion
  • Vérifiez les paramètres de la table et de la base de données :

    • Pour le table 'contenu' :

      ALTER TABLE table_name MODIFY contents MEDIUMTEXT COLLATE utf8mb4_general_ci;
      Copier après la connexion
    • Pour la base de données :

      ALTER DATABASE database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
      Copier après la connexion

Effets de le correctif

  • Aucune donnée corruption : Contrairement à l'utilisation d'indicateurs binaires, cette solution maintient l'intégrité des données en les convertissant en une représentation UTF-8 appropriée.
  • Compatibilité totale avec SQL : Les données seront compatible avec les requêtes SQL et les opérateurs conçus pour les données Unicode.
  • Espace de stockage accru : UTF-8mb4 nécessite jusqu'à quatre octets par caractère, augmentant potentiellement l'espace de stockage requis. Cependant, cela est généralement négligeable pour la plupart des applications.

Remarque :

Il est recommandé d'utiliser UTF-8mb4 au lieu de l'ancien jeu de caractères UTF-8, car il offre une meilleure prise en charge d'une plus large gamme de caractères Unicode.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal