Dengan kata lain, driver MySQL JDBC tidak mendukung pengkodean karakter di mana karakter awalnya dikirimkan. Driver MySQL JDBC default ke pengkodean default platform saat mengirim data karakter ke DB, yang mungkin misalnya ISO 8859-1. Anda perlu memberitahunya untuk tidak melakukannya dengan menentukan useUnicode
dan characterEncoding
parameter di URL JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Saat Anda menggunakan Facelets sebagai teknologi tampilan, JSF secara default sudah menjadi UTF-8 saat merender konten HTML dan memproses nilai parameter yang dikirimkan. Jadi masalahnya setidaknya bukan di situ.
Lihat juga:
- Unicode - Cara mendapatkan karakter kan? - Database
- MySQL Connector/J Manual - 19.3.4.4. Menggunakan Kumpulan Karakter dan Unicode