Maison > base de données > tutoriel mysql > Comment résoudre les erreurs « java.sql.SQLException : valeur de chaîne incorrecte » dans les interactions Java MySQL ?

Comment résoudre les erreurs « java.sql.SQLException : valeur de chaîne incorrecte » dans les interactions Java MySQL ?

DDD
Libérer: 2024-11-24 16:39:11
original
321 Les gens l'ont consulté

How to Resolve

java.sql.SQLException : valeur de chaîne incorrecte : résolution des problèmes de codage de caractères Unicode

Lorsque vous travaillez avec Java et MySQL, les opérations de base de données peuvent rencontrer erreurs liées à des valeurs de chaîne incorrectes. L'une de ces erreurs est "java.sql.SQLException: Incorrect string value", qui peut survenir lors de l'insertion de certains caractères non standard.

Par exemple, l'insertion de la chaîne "walmart obama ??" dans une table de base de données MySQL avec un type de colonne "varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL" peut déclencher l'erreur ci-dessus. Le problème réside dans l'encodage des caractères "??", qui représentent des points de code Unicode qui s'étendent au-delà du plan multilingue de base (BMP).

L'encodage par défaut de MySQL, utf8, ne prend en charge que les caractères du BMP. Pour accueillir des caractères extérieurs au BMP, tels que les emojis et autres symboles spéciaux, il est nécessaire d'utiliser l'encodage utf8mb4.

Solution :

Pour résoudre ce problème, modifiez le Base de données MySQL et paramètres de connexion pour prendre en charge l'encodage utf8mb4 :

  1. Mise à jour Base de données MySQL :

    • Assurez-vous que votre version de MySQL est 5.5 ou supérieure.
    • Modifiez la colonne du tableau pour utiliser "varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL".
  2. Configurer la connexion MySQL :

    • Pour une approche indépendante du pilote, exécutez la requête "SET NAMES 'utf8mb4'" après avoir établi une connexion avec la base de données.
    • Si vous utilisez Connector/J, définissez "characterEncoding" à "utf-8" dans la chaîne de connexion pour détecter et utiliser automatiquement utf8mb4 sur des serveurs compatibles.

En ajustant la base de données et les configurations de connexion pour prendre en charge utf8mb4, le L'erreur "java.sql.SQLException : valeur de chaîne incorrecte" sera résolue, permettant l'insertion réussie de caractères non BMP dans le base de données.

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