Maison > Article > base de données > Comment garantir l'insertion correcte d'une chaîne UTF-8 dans MySQL via JDBC ?
Comment écrire correctement des chaînes UTF-8 dans MySQL via l'interface JDBC
Problème :
Lors de la tentative d'insertion de chaînes UTF-8 dans une base de données MySQL à l'aide de l'interface JDBC, les données ne s'affichent pas correctement dans la base de données.
Contexte :
Le code L'extrait fourni montre le processus de connexion à une base de données, de création d'une table, d'insertion de lignes avec des données UTF-8 et de vérification des données insérées. Cependant, le résultat montre que les caractères UTF-8 sont corrompus.
Dépannage :
1. Vérifiez l'encodage de la configuration MySQL :
Assurez-vous que le fichier de configuration MySQL (my.cnf ou my.ini) contient les paramètres d'encodage de caractères corrects. Vérifiez les paramètres avec les commandes suivantes :
show variables like 'character%'; show variables like 'collation%';
2. Modifier le fichier de configuration (si nécessaire) :
En fonction de votre version de MySQL, ajoutez les lignes suivantes au fichier de configuration :
[mysqld] character-set-server = utf8 character-set-filesystem = utf8
OR
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server=utf8
3. Configurer la connexion JDBC :
Lors de l'établissement de la connexion JDBC, spécifiez le paramètre suivant :
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");
4. Supprimer le code redondant :
Sur la base de l'extrait de code fourni, il est recommandé de supprimer les lignes suivantes du code :
query = "set character set utf8"; stat.execute(query);
Résultat attendu :
Après avoir implémenté ces modifications, les chaînes UTF-8 doivent être correctement écrites et affichées dans la base de données MySQL.
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!