Mysql
 sql >> Base de données >  >> RDS >> Mysql

problème avec utf8 en java

Selon la Documentation du pilote MySQL JDBC vous devez également définir le codage des caractères dans l'URL de connexion JDBC. Voici un exemple :

jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8

Sinon, le pilote MySQL JDBC utilisera l'encodage par défaut de la plate-forme pour convertir les caractères en octets avant de les envoyer sur le réseau, ce qui dans votre cas n'est apparemment pas UTF-8. Tous les caractères non couverts seront alors remplacés par des points d'interrogation.

De plus, lors de la récupération des données, vous devez vous assurer que la console/le fichier dans lequel vous affichez/écrivez les caractères prend également en charge/utilise UTF-8. Sinon, ils deviendront également des points d'interrogation. La façon de résoudre ce problème dépend de la façon dont/où vous affichez/écrivez ces caractères.

Voir aussi :

Au fait, vous n'avez pas besoin du SET NAMES requête ici.