Vous devez indiquer au pilote JDBC d'utiliser le codage UTF-8 lors du décodage des caractères représentant la requête SQL en octets. Vous pouvez le faire en ajoutant useUnicode=yes
et characterEncoding=UTF-8
paramètres de requête à l'URL de connexion JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Sinon, il utilisera le jeu de caractères par défaut de la plate-forme du système d'exploitation. Le pilote MySQL JDBC est lui-même bien conscient de l'encodage utilisé à la fois côté client (où le code JDBC s'exécute) et côté serveur (où se trouve la table DB). Tout caractère qui n'est pas couvert par le jeu de caractères utilisé par la table DB sera remplacé par un point d'interrogation.