"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment écrire des chaînes UTF-8 dans MySQL à l'aide de JDBC sans problèmes de codage de caractères ?

Comment écrire des chaînes UTF-8 dans MySQL à l'aide de JDBC sans problèmes de codage de caractères ?

Publié le 2024-11-08
Parcourir:129

How to Write UTF-8 Strings into MySQL Using JDBC Without Character Encoding Issues?

Comment écrire correctement des chaînes UTF-8 dans MySQL via l'interface JDBC

La configuration MySQL est cruciale pour gérer correctement l'encodage des caractères UTF-8. Assurez-vous que le serveur et le client MySQL sont configurés correctement pour éviter la confusion des caractères.

Garantir une configuration correcte

Pour vérifier votre configuration MySQL, exécutez ces commandes :

show variables like 'character%';
show variables like 'collation%';

Modifications de configuration

Pour les versions MySQL 5.1.nn et ultérieures (y compris 5.5.29) :

[mysqld]
character-set-server = utf8
character-set-filesystem = utf8

Pour les versions MySQL 5.0.nn et antérieures :

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8

Connexion à MySQL avec Java

Établissez une connexion à MySQL dans votre code Java à l'aide du pilote JDBC et en spécifiant explicitement l'encodage des caractères :

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");

Conseils supplémentaires

  • Utilisez le codage UTF-8 dans tout votre programme, y compris les requêtes de base de données, les jeux de résultats et les chaînes. littéraux.
  • Envisagez d'utiliser une bibliothèque wrapper JDBC qui gère automatiquement le codage des caractères, telle que Spring JDBC.
  • Vérifiez que les tables et les colonnes de la base de données sont créées avec le jeu de caractères et le classement corrects.
  • Dans votre cas spécifique, la suppression du paramètre de jeu de caractères explicite (query = "set Character Set utf8";) aurait pu résoudre le problème, car cela aurait pu provoquer un problème. conflit.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3