Anda perlu memberi tahu driver JDBC untuk menggunakan pengkodean UTF-8 saat mendekode karakter yang mewakili kueri SQL ke byte. Anda dapat melakukannya dengan menambahkan useUnicode=yes
dan characterEncoding=UTF-8
parameter kueri ke URL koneksi JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Jika tidak, itu akan menggunakan charset default platform sistem operasi. Driver MySQL JDBC sendiri sangat mengetahui tentang pengkodean yang digunakan di sisi klien (di mana kode JDBC berjalan) dan sisi server (di mana tabel DB berada). Setiap karakter yang tidak tercakup oleh rangkaian karakter yang digunakan oleh tabel DB akan diganti dengan tanda tanya.