Du måste säga till JDBC-drivrutinen att använda UTF-8-kodning medan du avkodar tecknen som representerar SQL-frågan till byte. Du kan göra det genom att lägga till useUnicode=yes
och characterEncoding=UTF-8
frågeparametrar till JDBC-anslutningsadressen.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Den kommer annars att använda operativsystemets standardteckenuppsättning. MySQL JDBC-drivrutinen är själv väl medveten om den kodning som används på både klientsidan (där JDBC-koden körs) och serversidan (där DB-tabellen finns). Alla tecken som inte täcks av teckenuppsättningen som används av DB-tabellen kommer att ersättas med ett frågetecken.