Musíte sdělit ovladači JDBC, aby používal kódování UTF-8 při dekódování znaků představujících dotaz SQL na bajty. Můžete to udělat přidáním useUnicode=yes
a characterEncoding=UTF-8
parametry dotazu na adresu URL připojení JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Jinak bude používat výchozí znakovou sadu platformy operačního systému. Ovladač MySQL JDBC sám dobře ví o kódování používaném jak na straně klienta (kde běží kód JDBC), tak na straně serveru (kde je tabulka DB). Jakýkoli znak, který není pokryt znakovou sadou používanou tabulkou DB, bude nahrazen otazníkem.