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

Pourquoi les caractères Unicode s'affichent-ils correctement dans la base de données, mais sous la forme ? lorsqu'il est imprimé en Java via Hibernate?

C'est la console qui n'est pas configurée pour utiliser UTF-8 pour afficher leur. Dans le cas d'Eclipse, vous pouvez configurer son encodage par Window> Preferences> General> Workspace> Text File Encoding . Il doit être défini sur UTF-8 .

Le new OutputStreamWriter(System.out,"UTF-8"); instruit uniquement le OutputStreamWriter quel encodage utiliser pour convertir les caractères écrits en octets. Il n'instruit pas le System.out console quel encodage utiliser pour les reconvertir d'octets en caractères pour afficher eux.