Gestion des valeurs de chaîne incorrectes lors de l'insertion d'UTF-8 dans MySQL via JDBC
Lors de la tentative d'insertion de données UTF-8 dans une base de données MySQL à l'aide JDBC, vous pouvez rencontrer le message d'erreur « Valeur de chaîne incorrecte : 'xF0x90x8Dx83xF0x90...' » Cette erreur se produit souvent lorsque le texte inséré contient des caractères qui ne peuvent pas être représentés dans le jeu de caractères utf8 de MySQL.
Bien que vos paramètres de connexion incluent l'utilisation de l'Unicode ("useUnicode=true") et de l'encodage UTF-8 ("characterEncoding =utf-8"), l'encodage utf8 de MySQL ne prend en charge que les caractères Unicode qui peuvent être représentés par 3 octets en UTF-8. Le caractère à l'origine de l'erreur nécessite cependant 4 octets.
Solution :
Pour résoudre ce problème, vous avez deux options :
Notez que Connector/J, couramment utilisé pour les connexions JDBC avec MySQL, utilise par défaut Unicode sur 3 octets. Par conséquent, il est recommandé de laisser CharacterEncoding hors de votre chaîne de connexion et de configurer le serveur MySQL avec Character_set_server=utf8mb4 pour permettre à Connector/J de détecter automatiquement le paramètre UTF-8.
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!