Mysql
 sql >> Database >  >> RDS >> Mysql

problema con utf8 in java

Secondo la documentazione del driver MySQL JDBC è necessario impostare anche la codifica dei caratteri nell'URL di connessione JDBC. Ecco un esempio:

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

Altrimenti il ​​driver MySQL JDBC utilizzerà la codifica predefinita della piattaforma per convertire i caratteri in byte prima dell'invio in rete, che nel tuo caso apparentemente non è UTF-8. Tutti i personaggi scoperti verranno quindi sostituiti da punti interrogativi.

Inoltre, quando si recuperano i dati, è necessario assicurarsi che la console/il file in cui si visualizzano/scrivano i caratteri supporti/utilizza anche UTF-8. Altrimenti diventeranno anche punti interrogativi. Come risolverlo dipende da come/dove stai visualizzando/scrivendo quei caratteri.

Vedi anche:

A proposito, non hai bisogno del SET NAMES interroga qui.