Exception d'encodage : "Valeur de chaîne incorrecte" avec des Emojis en Java-MySQL
Dans une application Java utilisant MySQL, une exception "java. sql.SQLException : valeur de chaîne incorrecte : 'xF0x9Fx91xBDxF0x9F...'" peut être rencontrée lors de l'insertion d'une chaîne contenant personnages émoticônes. Cette erreur se produit en raison de différences dans le codage des caractères.
La valeur de chaîne en question contient "walmart obama ??", où "???" représente les emojis. Dans la base de données, la variable dans laquelle la chaîne est insérée est définie comme varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL. Cependant, la version MySQL utilisée par l'application ne prend en charge que les caractères BMP (Basic Multilingual Plan) en codage UTF-8. Les caractères Emoji, qui ne relèvent pas du BMP, ne peuvent pas être représentés correctement dans cet encodage.
Pour résoudre le problème, il est nécessaire de passer à l'encodage UTF-8mb4, qui prend en charge les caractères supplémentaires. Cela implique d'effectuer les ajustements suivants :
En faisant ces modifications, votre application sera capable de gérer correctement les caractères emoji en utilisant le codage UTF-8mb4, résolvant ainsi l'exception « Valeur de chaîne incorrecte ».
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!