Maison > base de données > tutoriel mysql > 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 ?

Linda Hamilton
Libérer: 2024-11-03 13:59:02
original
913 Les gens l'ont consulté

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 toute confusion de caractères.

Assurer une configuration correcte

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

show variables like 'character%';
show variables like 'collation%';
Copier après la connexion

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
Copier après la connexion

Pour les versions MySQL 5.0.nn et plus ancien :

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character-set-server=utf8
Copier après la connexion

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 :

<code class="java">con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&amp;characterEncoding=UTF-8","user","passwd");</code>
Copier après la connexion

Conseils supplémentaires

  • Utilisez le codage UTF-8 dans tout votre programme, y compris les requêtes de base de données, les ensembles de résultats et les chaînes littérales.
  • Pensez à 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 conflit.

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